home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 021a / dancad3d.zip / MANUAL.DOC < prev    next >
Text File  |  1990-11-21  |  112KB  |  4,249 lines

  1.  
  2. [             D A N C A D  3 D   V E R S I O N   1 . 3 0             ]   
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                  DANCAD3D.COM  v1.30-512k, v1.30-640k
  24.  
  25.                   3D CAD Program Manual and Tutorial
  26.  
  27.  
  28.      Daniel H. Hudgins, 466 Diamond St., San Francisco, CA  94114
  29.  Rights to trade secrets reserved, some of the code is Borland Int.'s.
  30.  
  31.        Read the notice in this manual before using this program.
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.                                  [1]   
  60.  
  61. [                 T A B L E   O F   C O N T E N T S                  ]   
  62.  
  63.  
  64.  
  65. Notice.............................3
  66. Disclaimer.........................3
  67. Files on the disk..................4
  68. How to get support and help........5
  69. How to use DANCAD3D................6
  70. What can DANCAD3D do?..............8
  71. How to draw using DANCAD3D.........9
  72. Lettering and dimensioning........10
  73. Adjusting display perspective.....11
  74. Printing out your drawings........12
  75. Dancad3d file types...............13
  76. What is a DANCAD3D Macro..........14
  77. How to animate your drawings......17
  78. Desktop Publishing................18
  79. DANCAD3D Tutorial.................19
  80. Tutorial Lesson 1: 2D drawing.....20
  81. Tutorial Lesson 2: 3D drawing.....22
  82. Tutorial Lesson 3: Dimensioning...24
  83. Tutorial Lesson 4: Writing macros.26
  84. Tutorial Lesson 5: Animation......29
  85. Appendix A: Drawing commands......32
  86. Appendix B: Macro commands........34
  87. Appendix C: Editing macros........59
  88. Appendix D: Menus and help........62
  89. Appendix E: ASCII file formats....65
  90. Appendix F: Error messages........67
  91. Appendix G: Changes...............68
  92. Index.............................69
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.                                  [2]   
  119.  
  120. [                            N O T I C E                             ]   
  121.  
  122.  
  123.  
  124.              Read the disclaimer before using the program.
  125.  
  126.  
  127.                               DISCLAIMER
  128.  
  129. DANCAD3D disk including programs and documentation is  distributed  as
  130. is,  with  no  guarantee  that  it  will  work correctly in any or all
  131. situations.  This manual may contain errors and omissions. In no event
  132. will Daniel H.  Hudgins be liable  for  any  damages,  including  lost
  133. profits,  lost  savings  or  other incidental or consequential damages
  134. arising out of the use or inability  to  use  these  programs  and  or
  135. files,  even if the Author has been advised of the possibility of such
  136. damages,  or for any claim by any other party.  The  program  can  and
  137. will crash resulting in loss of data when operated, Daniel H.  Hudgins
  138. shall not be held liable or responsible for any such loss.  Should the
  139. program prove defective,  you (the user) assume the entire cost of all
  140. necessary repair, servicing, or correction.  All offers are subject to
  141. change  or withdrawal without notice or notification of any kind.  The
  142. use of the program constitutes total agreement and acceptance of  this
  143. disclaimer.
  144.  
  145.                         USER SUPPORTED PROGRAM
  146.  
  147. Please  help  distribute  DANCAD3D.COM by sharing unmodified copies of
  148. this  diskette  including  all  the  original files with other people.
  149.  
  150. Send a  S.A.S.E. to receive information on up-dates and library disks.
  151.  
  152. A  fast  8087  version  is  under  development,  send  a  request  for
  153. information and include a long S.A.S.E..
  154.  
  155. Send $10.00 for some support and a postcard good for an up-date.  I do
  156. not receive any money from distributors of this program.  If  you  use
  157. this program please let me know which parts are most useful to you and
  158. which  parts  you  would  like  to see changed (and how they should be
  159. changed).  If you find any bugs let me know about them so they can  be
  160. taken care of.   When you write state which version of DANCAD you use.
  161.  
  162. If  you have line data files in some other format and want me to add a
  163. program that can convert them to a DANCAD 3D file type to a DANCAD  3D
  164. update  disk  then  send  me the name of the program that produced the
  165. file, a sample file on disk,  a description of the data format (if you
  166. have  it),  and  a  print  out of what the drawing looks like from the
  167. source program.  I can probably convert ASCII form data most easily so
  168. send that if you can (redirect plotter  output  if  that  is  all  you
  169. have).  I  will  see  what  I can do (no promises).  Be sure to let me
  170. know exactly  what  equipment  you  have  and  what  version  of  what
  171. program(s) you are using so I can pass it on to others.
  172.  
  173.  
  174.  
  175.  
  176.  
  177.                                  [3]   
  178.  
  179. [                 F I L E S   O N   T H E   D I S K                  ]   
  180.  
  181.  
  182.  
  183. DANCAD3D.COM  is the main program file.
  184.  
  185. DANCAD3D.00?  are the overlay files used by DANCAD3D.COM.
  186.  
  187. DANCAD3D.MSG  message file for the editor.
  188.  
  189. DANCAD3D.COL  color 80x25 resolution installation.
  190.  
  191. DANCAD3D.B&W  for monochrome from CGA (color graphics) video board.
  192.               (rename DANCAD3D.COL for color).
  193.  
  194. DANCAD3D.P??  plotter installation data files
  195.               (may be renamed to swap plotters or change pens).
  196.  
  197.     These and any other  files  named  DANCAD3D.???  must  be  in  the
  198. current  (default)  DOS  directory for the program to run.  This means
  199. that if you see the DOS "A>" that you put your working disk  (that  is
  200. one that has all the files named DANCAD3D.??? on it) in the "A" drive.
  201.  
  202. DEMO.???      are program files written with  DANCAD 3D  commands that
  203.               you can  run  and work with (on your work copy) to learn
  204.               how to use DANCAD 3D's macro commands.
  205.  
  206. ????????.MAC  files are DANCAD 3D macro files called by the demos.
  207.  
  208. INSTALL.BAT   utility to install DANCAD3D.  At DOS prompt enter:
  209.               INSTALL DANCAD3D to see your installation options.
  210.  
  211. README.BAT    help for your first time running DANCAD3D.
  212.  
  213.  
  214. If you are using a hard disk I recommend that you use separate sub-sub
  215. directorys for each data and macro file type in order to avoid program
  216. crashes resulting  from confusing the use  of  different  file  types.
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.                                  [4]   
  237.  
  238. [        H O W   T O   G E T   S U P P O R T   A N D   H E L P       ]   
  239.  
  240.  
  241.  
  242.     I originally wrote  DANCAD3D.COM  for  my  own  use.  I  wanted  a
  243. program   that  would  produce  high  quality  drawings  suitable  for
  244. reproduction in technical journals.  It also had to be  able  to  work
  245. with  the  equipment that I had on hand.  That was a 2-360k drive 640k
  246. memory PC using the CGA video board and graphics printer.
  247.  
  248.     I thought that other people with this common system  configuration
  249. would  also  like  to  make  high quality drawings.  So I released the
  250. program as a user supported product.  That means that the only money I
  251. get comes from you, the user of this program.
  252.  
  253.     Since DANCAD3D.COM was released I have received letters from users
  254. across the United States.  Their comments about the program  and  this
  255. manual  have  been  very  helpful  to  me  as  I  make  revisions  and
  256. improvements.  If you have any suggestions as to how DANCAD3D.COM  and
  257. its  accessory  programs can be made more useful to you,  please write
  258. me.  If I see the same suggestion from many  sources  I  will  try  to
  259. include  that  improvement  in  an up-date.  Also if some part of this
  260. manual is incomprehensible after several readings please let  me  know
  261. so I can rewrite it.
  262.  
  263.     I  encourage  you to send me the $10.00 registration fee.  It pays
  264. for postage and materials so I can keep you informed  of  improvements
  265. in  DANCAD3D.COM  and  it's bonus disks.  You will also get an up-date
  266. and have your letters answered.  Please send as  much  information  as
  267. you  can about your system and any problem you may be having.  Be sure
  268. to tell me which version(s) of my program(s) you have.  If none of the
  269. current versions of my programs  will  resolve  your  problem  I  will
  270. return  your  check.  If  you wish to speak on the telephone send me a
  271. number where you can be called collect at night.  Tell  me  what  week
  272. days and what times I should try to call.
  273.  
  274.     I  hope  you find my programs useful.  If you make any interesting
  275. drawings send me a copy (on disk as a 2D and 3D file?).  If you  would
  276. like  to share your drawing or macro with other DANCAD 3D users say so
  277. in your letter.  I may  include  your  work  on  a  library  disk.  By
  278. sharing our ideas, drawings, elements, and macros we will all benefit.
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.                                  [5]   
  296.  
  297. [       H O W   T O   B E G I N   U S I N G   D A N C A D  3 D       ]   
  298.  
  299.  
  300.  
  301.     The program only works with the CGA (Color Graphics  Adapter),  or
  302. equivalent,  video  board.  It  uses  the "hi-res" 640x200 mode.  Your
  303. computer must have 640K (512k for the 512k version) DOS system memory.
  304. If you have enough extra memory above the 640K to put  all  the  files
  305. named DANCAD3D.??? in a RAM disk the program will run better.
  306.  
  307.     To  make  a working DANCAD 3D disk put your original DANCAD3D disk
  308. in your "A" drive, and a blank formatted disk in the "B" drive.  Then
  309.  
  310. Enter:  COPY A:DANCAD3D.* B:
  311.  
  312.      To reduce disk swapping you may wish to copy some  special  files
  313. from  your  DOS disk to your working disk.  Take the original disk out
  314. of your "A" drive and insert your DOS disk.  Then
  315.  
  316. Enter: COPY A:COMMAND.COM B:
  317.  
  318. then,
  319.  
  320. Enter: COPY A:GRAPHICS.COM B:
  321.  
  322.     If  there  is  a  file  named  DANCAD3D.B&W  in the directory with
  323. DANCAD3D.COM the program will run in black  and  white  otherwise  the
  324. text is in color.
  325.  
  326.     Use the file INSTALL.BAT to  install  DANCAD 3D on your hard disk,
  327. install it as CGA monochrome mode, or reinstall it  as CGA color mode.
  328.  
  329. Enter: INSTALL DANCAD3D
  330.  
  331. To run DANCAD3D programs automatically from DOS or DOS batch files
  332.  
  333. Enter: DANCAD3D PATH\FILENAME.EXT
  334.  
  335. where PATH\FILENAME.EXT is the name  of  a  DANCAD3D  command  (macro)
  336. file.  The  program  will  then  start  automatically after two second
  337. delay.  Press the [Ctrl] and [C] keys at the  same  time  to  Break  a
  338. running  demo  or macro and return to DANCAD 3D's main menu.  The file
  339. name can also be one of the device "file" names (e.g: CON or AUX).  If
  340. you enter CON the program will run and then  wait  for  you  to  enter
  341. commands line by line (press ^Z [Return] to end).  If you enter AUX for
  342. the  filename DANCAD 3D will process and display a stream of its macro
  343. commands sent to it  from  another  computer,  acting  as  a  graphics
  344. terminal.
  345.  
  346.     In DOS type DANCAD3D DEMO.1 to see the demo No. 1.  From DOS enter
  347. README for help in doing this.  Other demos are  found  on  the  bonus
  348. disks  you  can  order  for $7.50.  Use the demo files on your working
  349. disk to learn how DANCAD3D works.
  350.  
  351.     A mouse can be used by installing it so  that  movement  simulates
  352. the cursor keys and the buttons are assigned to [0/INS],  [./DEL], and
  353.  
  354.                                  [6]   
  355.  
  356. [       H O W   T O   B E G I N   U S I N G   D A N C A D  3 D       ]   
  357.  
  358.  
  359. both buttons assigned to [*].  This will  also  help  in  the  program
  360. editor.  Read  the  booklet that came with your mouse about installing
  361. it to simulate the cursor  keys  and  installing  other  keys  to  the
  362. buttons.
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.                                  [7]   
  414.  
  415. [             W H A T   C A N   D A N C A D  3 D   D O ?             ]   
  416.  
  417.  
  418.  
  419.     What can you do with DANCAD3D?  DANCAD3D was written to let you do
  420. complex  tasks  like stereoscopic 3D wire frame animation or just draw
  421. simple things like a letter head.  DANCAD3D is a program that lets you
  422. draw with lines.  These lines can be in a plane,  like  drawing  on  a
  423. piece  of  paper  (2D drawing).  Or they can go any direction in space
  424. (3D drawing).  Three-dimensional drawings made  of  lines  are  called
  425. wire frame drawings.  You can separate groups of lines into "elements"
  426. that  can be:  saved,  loaded,  magnified,  rotated,  flipped,  offset
  427. (moved), and used over and over again,  by keeping them as a file on a
  428. disk (give them names like cube, sphere, and cylinder).
  429.  
  430.     You  can  enter  where  you  want your lines by drawing,  from the
  431. numeric menu Enter command,  or through a macro (see  the  section  on
  432. macros).   Lettering,   blocks  of  text,   and  dimensioning  can  be
  433. automatically generated as elements made of lines.  Since the elements
  434. are separate they can be moved and displayed  repeatedly  to  simulate
  435. the  effects  of  motion on the objects you have drawn.  You can put a
  436. list of elements,  their position,  and the view point from which they
  437. are to be displayed in a macro (ASCII text file),  so DANCAD3D can run
  438. itself without you having to enter the commands manually  through  the
  439. menus and keyboard.
  440.  
  441.     DANCAD3D  prints  out  very  sharp  lines and is useful for:  line
  442. drawings,  mechanical  drawing,  technical  illustration,   wire-frame
  443. animation,   engineering   simulation  to  verify  the  fit  of  three
  444. dimensional shapes,  business forms,  page layout combining  text  and
  445. drawings, and automatic computer "slide" shows.
  446.  
  447.     DANCAD  3D  can  turn  a  PC into a graphics terminal that you can
  448. drive using its macro commands through  the  PC's  serial  port.  Just
  449. enter DANCAD3D AUX at the DOS prompt to start it up this way.
  450.  
  451.     Read   the  disk  file  README.BAT  for  information  on  hardware
  452. requirements.
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.                                  [8]   
  473.  
  474. [        H O W   T O   D R A W   U S I N G   D A N C A D  3 D        ]   
  475.  
  476.  
  477.  
  478.     To  draw using DANCAD3D go to the main menu (the second screen you
  479. see when you run the program) then press the [F] key.  The  [F]  means
  480. Front  and  is shown in the main menu.  This allows you to draw facing
  481. the three-dimensional workspace from the  front.  You  can  also  draw
  482. facing from the side (by pressing ^[S] witch means hold the [Ctrl] key
  483. and  press  the  [S]  key) or the top (by pressing [T]).  Normally you
  484. would start drawing from the front view.  After pressing [F] you  will
  485. be  asked  whether you wish to only display a single element.  This is
  486. so you can see them separately.  Just  press  [Return]  for  now.  You
  487. should see a blank drawing screen with the "+" shaped graphics cursor.
  488. The  numbers after the x,y,& z at the top of the screen tell you where
  489. you are.  Use the cursor keys to move to where  you  want  a  line  to
  490. start.  Press the [./Del] key to mark that point.  Use the cursor keys
  491. to  move  to where you want the line to end.  Press the [0/Ins] key to
  492. draw the line, and record it,  so it can be saved.  To draw to a scale
  493. of  units (eg.  mm,  in,  ft.) press ^[W] (set-up World) from the main
  494. menu.
  495.  
  496.     The  drawing modes have a command menu you can get by pressing the
  497. [/] key.  They also have there own help screens to  list  the  drawing
  498. commands available.  Press the [Ctrl] and the [^] key at the same time
  499. to get the help screens.
  500.  
  501.     To draw triangles and circles (etc.) press ^[P] (for polygon) from
  502. the main menu.  Use [M], [R] and [O] (mag., rotation, and offset) from
  503. the main menu to position and change their shape.
  504.  
  505.     If you have a resident keyboard enhancement program you can put it
  506. in  its  keystroke record mode while you are drawing an element.  Make
  507. your element dawn relative to the graphics cursor's starting position.
  508. Then whenever and wherever you need that element all you have to do is
  509. move the cursor to the spot you want it and press  the  assigned  key!
  510. The 512k version will give you more memory to record keystrokes if you
  511. have 640k.  Since DANCAD 3D clears the keyboard buffer between prompts
  512. you  may  need to add a delay (read you keyboard program manual) after
  513. certain keystrokes to have them read properly.
  514.  
  515.     You  can abort or speed-up (2x,4x,10x) the drawing or redrawing of
  516. the graphics screen by pressing any key  while  it  is  up-dating  the
  517. screen.  You  can  shift back to the normal redrawing in the same way.
  518. This is useful when working with text or drawings with many  lines  to
  519. get a quick look as to where and what to zoom in on.
  520.  
  521.     Please do not judge the  quality  of  this  program  by  the  poor
  522. resolution  of  the  CGA  video  display (640x200).  The zoom range in
  523. drawing (F,  ^S,  or T from the main menu) has a range over a trillion
  524. to  one,  so  zoom in to pixel size to join lines when the location is
  525. uncertain.
  526.  
  527.     You can draw using DANCAD 3D's macro  commands  in  the  immediate
  528. mode  by  using  the  file  name  CON.  Then  press ^Z [Return] to end
  529. console input.
  530.  
  531.                                  [9]   
  532.  
  533. [         L E T T E R I N G   A N D   D I M E N S I O N I N G        ]   
  534.  
  535.  
  536.  
  537.     While you are drawing ([F],  ^[S],  or [T] from the main menu) you
  538. can  put  lettering in your drawings.  Just press [L] (for lettering).
  539. The size of the lettering can be changed.  Its default value is  based
  540. on  the  value  used  for  the world scale.  The world scale is set by
  541. pressing ^[W] (for world) from the main menu.  It can be set  so  that
  542. the x,y,z values and/or the print-out correspond to inches, mm, or any
  543. other units.
  544.  
  545.     You   can   also   have   dimensions  lettered  and  arrows  drawn
  546. automatically by pressing  [A]  for  Automatic  Dimensioning.  It  has
  547. options  for  drawing  the  entered  text,  the automatically measured
  548. dimension, and both or neither.  The dimension can also be between the
  549. arrows pointing outward (inside dimension) or to  one  "side"  of  the
  550. arrows pointing inward (outside dimension).
  551.  
  552.     Large  blocks  of  text  can  be  read in by use of the block text
  553. command.  It is called by pressing [B] while you see the main menu  or
  554. from  a running macro.  The text file read should be a formatted ASCII
  555. text file (no more than one page at a  time).  You  can  write  it  by
  556. pressing [W] (for write) from the main menu.  To save it while you are
  557. in  write  press  ^K^W.  To  return  to  the main menu press ^K^X (for
  558. eXit).  The writing editor has its own  help  screens  that  list  its
  559. commands  and  the  syntax  of the DANCAD3D macro commands.  Press the
  560. [Ctrl] and [^] keys at the same time to see its help screens.
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.                                  [10]   
  591.  
  592. [      A D J U S T I N G   D I S P L A Y   P E R S P E C T I V E     ]   
  593.  
  594.  
  595.  
  596.     After you draw a three dimensional object you can display it  from
  597. any  vantage  point  by  pressing  [P] (for perspective) from the main
  598. menu.  The default or last entered values will be listed for you.  You
  599. can change them.
  600.  
  601.     There are three  rotations.  The  z  rotation  turns  the  drawing
  602. around  a  line coming out of the screen at you.  The y rotation turns
  603. the drawing around a line going from top to  bottom.  The  x  rotation
  604. turns the drawing around a line going from side to side.
  605.  
  606.     The  "zvp"  or  vanishing  point is the point where parallel lines
  607. come together.  It is always negative.  It must be farther away  (more
  608. -z)  than  the most distant point in the drawing.  The closer it is to
  609. the lines you drew the more exaggerated the perspective will  be.  You
  610. can  find  out  what your maximum -z value is by looking at a top view
  611. (press [T] from the main menu).
  612.  
  613.     Scale lets you zoom in and out  without changing the actual  point
  614. values.
  615.  
  616.     Mode  changes  the way lines project out of the screen.  Mode 1 is
  617. normal in that as the vanishing point is made less negative lines with
  618. +z get longer.  In Mode 0 lines more distant (less +z) than  the  most
  619. +z point get shorter.
  620.  
  621.     The  x  and  y  shift values are provided to allow you to move the
  622. vanishing point off center.  This simulates a  view  camera's  "rising
  623. front".  It  is  also  useful  in  adjusting  stereoscopic convergence
  624. between right and left eye views.  Changing the shift can  also  be  a
  625. useful to animate panning across a view.
  626.  
  627.     The data is stored internally as a set of primitive elements  made
  628. of lines.  When you display your drawing it does not affect the x,  y,
  629. and z values  of  the  line  data.  This  keeps  relationship  of  the
  630. elements  to the axes the same as you set it using mag.,  rotate,  and
  631. offset.   Each  element  has  its  own  center  and  can  be  rotated,
  632. magnified,  flipped, or offset in relation to its center or the center
  633. of the "whole world".
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.                                  [11]   
  650.  
  651. [         P R I N T I N G   O U T   Y O U R   D R A W I N G S        ]   
  652.  
  653.  
  654.  
  655.     There are three ways DANCAD 3D can print out  your  drawings.  All
  656. three  types  of  hard  copy  can be done from the keyboard or a macro
  657. file.
  658.  
  659.     1.  If you have a dot matrix printer that is IBM Graphics  Printer
  660. (IBM  is  a trade mark of International Business Machines Corporation,
  661. Boca Raton,  Florida 33432) compatible with [Esc] Z 1920 dot (240 dots
  662. to  the inch) you can print out very nice drawings.  Some of the newer
  663. Epson printers  such  as  the  Epson  LX-80  (Epson  is  a  registered
  664. trademark  of  Epson Corporation) are compatible with the IBM 1920 dot
  665. mode.  Just press [H] (hard copy) [D]  (dot  printer)  from  the  main
  666. menu.  There is a preview feature to allow you to see how your drawing
  667. will  fit on the length of paper selected.  This print out takes place
  668. in 9/10 inch strips. 12 of these will fit on a 8 1/2 x 11 in. sheet of
  669. paper, and contain a total of 4,478,976 pixels (dots).  You can rotate
  670. a drawing 90 degrees in the z axis to  turn  it  sideways.  This  will
  671. allow  you  to  do 8 by 18 inch format for wide screen motion pictures
  672. (20  strips,   8,294,400  pixels).   Using  the  DANCAD   3D   command
  673. Dot_printer  will  be  30  to 60 times as sharp,  (more pixels),  as a
  674. simple screen dump (photocopy or photostat the printout  at  0.5x  and
  675. you get 207,360 dots per square inch).
  676.  
  677.     If your drawing is wider than it is high you can get sharper print
  678. out  by  turning  the drawing 90 degrees around the world z axis,  and
  679. scale it to fill the 8 1/2" width of the paper.  You can then  make  a
  680. reduction  photostat for the actual size you require.  If your drawing
  681. has very fine detail use a slightly dry ribbon.
  682.  
  683.     2.  If  your  printer  does not have this high resolution mode you
  684. can use a graphics screen dump.  Load DOS GRAPHICS.COM before  running
  685. DANCAD   3D.   Press  [Shift]  and  [PrtSc]  after  viewing  with  [P]
  686. (perspective) from the main menu,  or use the macro command DUMP after
  687. the macro command DISPLAY (see the appendix on macro commands).
  688.  
  689.     3.  If you have a plotter you can install its command protocol for
  690. DANCAD 3D's use by pressing [H] (hard copy) from the  main  menu  then
  691. press  [I]  (install  plotter)  from  the  hard copy menu.  After your
  692. plotter is installed you can press [H] from  the  main  menu  and  [P]
  693. (plotter)  from  the hard copy menu.  To preview use [P] (perspective)
  694. from the main menu.  You can get different colors by rotating  through
  695. a  DOS  batch file to rename the plotter installation files (to change
  696. pens) and automatically call DANCAD3D and your macros  that  load  the
  697. line files with the lines to be drawn in the installed color.
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.                                  [12]   
  709.  
  710. [               D A N C A D  3 D   F I L E   T Y P E S               ]   
  711.  
  712.  
  713.  
  714.     DANCAD  3D has different file types for different purposes.
  715.  
  716.     3D-real  is  the  file  type  you  should use to save elements and
  717. finished whole drawings.  It preserves the image  detail  so  you  can
  718. enlarge what you saved after you reload it.
  719.  
  720.     2D-real  allows you to "flatten" a three dimensional object into a
  721. two  dimensional  perspective  drawing  of  it.  This  is  useful  for
  722. shadows,  and other special effects,  as well as putting several views
  723. in the same drawing (you can write a macro to do this for you) or page
  724. "paste up".
  725.  
  726.     ASCII puts the x,  y, and z values into a text file.  You can then
  727. use a text editor,  [W] (for write) from the main menu,  to manipulate
  728. the data with block copy, delete, etc.  You can get a print out of the
  729. line data by saving with the filename PRN.  (or AUX.).  The ASCII file
  730. format is the easiest way of putting line  data  into  a  macro.  Just
  731. save  the element you drew as an ASCII file then go into the editor by
  732. pressing [W] (for write) from the main menu and then press ^K^R  (read
  733. file  as  a block).  Change the top line of text to the word ENTER and
  734. when the macro is run the lines will be entered just as you drew them.
  735. The ASCII format also simplifies interchange of line data  with  other
  736. programs.  You  can write simple BASIC programs to translate your line
  737. data files (see the appendix on file formats in the manual).
  738.  
  739.     Elements as a set,  saves all the  elements  (3D-real  type)  with
  740. there  element  number being used as the file extension.  Filename.SET
  741. holds the old centers.
  742.  
  743.     Pixels saves video screen as you see it.  For  "slide  show"  type
  744. display.  This  file type is used by DANMOVIE.COM to animate your wire
  745. frame or "blue-print" views so you can see how moving parts will  fit.
  746. You  can get the latest version of DANMOVIE.COM if you order the bonus
  747. disks ($7.50).
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.                                  [13]   
  768.  
  769. [          W H A T   I S   A   D A N C A D  3 D   M A C R O          ]   
  770.  
  771.  
  772.  
  773.     A DANCAD 3D macro is an ASCII  text  file  containing  a  list  of
  774. commands and their parameters.  The commands available can be found in
  775. an  appendix  in  the file MANUAL.DOC.  They also are listed for quick
  776. reference in the text editor's ([W] for Write from the main menu) help
  777. screens.
  778.  
  779.     Writing a macro to produce complex shapes,  especially those  with
  780. curves,  saves  disk space.  For example the command POLYGON 6000 6000
  781. 300 replaces a 3D-real file of over 200 thousand bytes.
  782.  
  783.     Writing a macro also saves time in the long run.  If  you  make  a
  784. mistake  while  entering  a long series of commands from the menus you
  785. have to start over from scratch.  But if you write  a  macro  all  you
  786. have  to  do  is go back into the text editor and make some changes to
  787. the macro file on your disk.  Also after a while you can  build  up  a
  788. library  of  macros  that can automatically be called from a new macro
  789. simply by writing "RUN MACRO.MY" (where MACRO.MY is  the  filename  of
  790. your macro).
  791.  
  792.     To run your macro program press ^[R] (that is press the [Ctrl] and
  793. [R]  keys at the same time) (for Run) from the main menu.  Or from the
  794. DOS prompt enter DANCAD3D MACRO.MY to have the program start  up  with
  795. that macro (for setup).
  796.  
  797.     If  your  macro has a bug in it or doesn't do what you were trying
  798. to get it to do, you can trace it by pressing [T] (for Trace) while it
  799. is running.  The speed of the trace can be changed while it is running
  800. by pressing [D] (for trace Delay).  You can also turn the trace on and
  801. off and change the trace delay by using the macro command TRACE.
  802.  
  803. Loops are provided to allow you to save/load large sets of files.  The
  804. effects  of  Rotate,  Offset,  and Magnification are cumulative so the
  805. loops can also animate the elements individually using these commands.
  806.  
  807.                      ; example of how to loop
  808. NAME 1 = c:myfile i  ; assign path/filename starting with i= -99to999
  809.                      ; as .ext
  810. :label               ; put a label at the top of the loop
  811. Run NAME 1 HERE      ; use automatic name substitution
  812. NAME 1 + 3           ; use automatic name advance
  813. Goto :label 15       ; loop up to label 15 times (16 passes)
  814.  
  815.  
  816. Loops run faster if they are in separate files.  For example,
  817. put in a ASCII text disk file named "MAIN":
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.                                  [14]   
  827.  
  828. [          W H A T   I S   A   D A N C A D  3 D   M A C R O          ]   
  829.  
  830.  
  831. ;-----------------
  832. ; START file MAIN
  833.  
  834. Run loop.1
  835.  
  836. Run loop.2         ; it should print 10 times after 25 beeps
  837.  
  838. ; END file MAIN
  839. ;----------------
  840.  
  841. put in a ASCII text disk file named "LOOP.1":
  842.  
  843. ;-------------------
  844. ; START file LOOP.1
  845.  
  846. :label_A
  847. echo This should proceed 5 beeps.
  848. :label_B
  849. beep
  850. goto :label_B 4
  851. ; 5 passes
  852. goto :label_A 4
  853. ; 5 sets of 5 = 25
  854.  
  855. ; END file LOOP.1
  856. ;-----------------
  857.  
  858. put in a ASCII text disk file named "LOOP.2":
  859.  
  860. ;-------------------
  861. ; START file LOOP.2
  862.  
  863. Text_mode          ; clear the screen
  864.  
  865. :label_C
  866. Echo There should be 10 of these.
  867. goto :label_C 9
  868.  
  869. echo Press [Return].
  870. wait_for_return    ; pause
  871.  
  872. ; END file LOOP.2
  873. ;-----------------
  874.  
  875. Automatic  generation  of filename .ext allows looping to save or load
  876. 1099 files from brief code in a program file.  DO  NOT  use  the  NAME
  877. command  with  Save  or  Load a  Set Of Elements,   since it  adds its
  878. own .ext to the filename.
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.                                  [15]   
  886.  
  887. [          W H A T   I S   A   D A N C A D  3 D   M A C R O          ]   
  888.  
  889.  
  890. NAME i = path\filename 0 : the = assigns path\filename to name index
  891.                            i (i=0 to 7 or up to 8 names at a level).
  892. NAME i HERE : HERE uses name to Save or Load a numeric .ext is added.
  893. NAME i NEXT : NEXT adds one to numeric .ext before using in Save or Load.
  894. NAME i INPUT : asks user to enter a filename.
  895. e.g.: Load 3D name 1 input (User entered: c:\MY\GQ.3D) or
  896.       name 1 input Load 3D name 1 here (User entered: Pix.24) or
  897. NAME i + 2  : adds 2 to numeric .ext.
  898. NAME i - 1  : subtracts 1 from numeric .ext.
  899.     Be sure to leave a space between all commands and parameters (e.g.
  900. # 0 Flip current_center X ).   Use the  underline where a space is not
  901. allowed (eg.  Graph_mode).  Look at the demo and macro files that came
  902. on the disk for more examples.
  903.  
  904.     Use  the source code text editor's windows to display and edit the
  905. main program and the sub programs or macros it runs.  ^O^O opens a new
  906. window.  You  can save to the file of the window the cursor is in with
  907. ^K^S.  The syntax of DANCAD3D is in  the  editor  help  screen,  press
  908. ^[^].
  909.  
  910.     Numeric errors in the statement of DANCAD 3D programming  commands
  911. are  captured and the text fallowing the error is shown to help you in
  912. debuging your macro files.  Curly braces { and } may be used to  block
  913. off command text for comments or debuging.
  914.  
  915.     You can enter DANCAD 3D's macro commands in the immediate mode  by
  916. using  the  macro  file name CON (console,  your keyboard and screen).
  917. Press ^Z [Return] to end console input.  You can enter commands into a
  918. running macro also (e.g.:  RUN CON or RUN AUX).  DANCAD 3D  will  also
  919. except  input from the serial ports use the file names "AUX",  "COM1",
  920. "COM2",  etc.  This is useful since you can program  another  computer
  921. (micro  or mainframe) to output DANCAD 3D macro commands and have your
  922. computer work as a 3D graphics terminal!
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.                                  [16]   
  945.  
  946. [       H O W   T O   A N I M A T E   Y O U R   D R A W I N G S      ]   
  947.  
  948.  
  949.  
  950.     The DANCAD 3D macro's commands allow you to do loops.  Loops allow
  951. repetitive and cumulative motion to be imparted to elements.  Elements
  952. can  move  and  change  shape independently.  Each element has its own
  953. center of rotation.  The display of the line data does not disturb the
  954. absolute relation of the elements to each other.  This  allows  DANCAD
  955. 3D to be used for complex three-dimensional wire frame animation.  The
  956. high quality of the print out and variety of perspective make the hard
  957. copy suitable for photography on a 35mm animation stand.
  958.  
  959.     The macro command NAME allows files to  be  saved  and  loaded  by
  960. adding  a numeric extension to the filename  (eg.  FILE.123,  FILE.124
  961. , ...).  In this way groups of "frames" can be  saved  to  disk.   For
  962. instance if you want to do a slow zoom on a moon orbiting a planet you
  963. can  save the motion of one orbit to disk,  and read it in repeatedly,
  964. as the scale of display is changed.  This saves computation time since
  965. the rotations don't need to be repeated.  This process can  be  nested
  966. to simulate a vast complexity of motion.
  967.  
  968.     To do  quick  "pencil tests" of the motion you have programed, you
  969. can use the pixel file format.  Then write a GOTO loop  to  read  them
  970. back  rapidly  (this  works  best  with a RAM disk).  If you order the
  971. bonus disks you will get the latest version of DANMOVIE.  It lets  you
  972. view  a set  of  pixel  files rapidly and smoothly with forward and/or
  973. reverse motion at different speeds.
  974.  
  975.     If you want to have a movie camera photograph your CRT screen, the
  976. macro command SIGNAL can be used to send pulsed square wave signals of
  977. predetermined frequency and duration to  a  solenoid  shutter  release
  978. actuator.  It allows you to control the exposure, a filter wheel, etc.
  979.  
  980.     SIGNAL (through the audio output) can also trigger a single  frame
  981. VCR.
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.                                  [17]   
  1004.  
  1005. [                 D E S K T O P   P U B L I S H I N G                ]   
  1006.  
  1007.  
  1008.  
  1009.     Since DANCAD 3D can read formatted ASCII text files,  and the 640k
  1010. version  has adequate line capacity,  you can do a 8 1/2 by 11 page of
  1011. text and drawings.
  1012.  
  1013.     Paragraphs and columns can be read in by pressing [B] for block of
  1014. text from the main menu or by using the macro command BLOCK_TEXT.
  1015.  
  1016.     The  flexibility  of  DANCAD  3D's  lettering  allows  you  to put
  1017. lettering of different sizes anywhere on a page  you  want  it.  Since
  1018. DANCAD 3D uses real numbers, for the storage of line data, the size of
  1019. lettering  and  blocks of text can be adjusted for an exact fit to any
  1020. space on a page.
  1021.  
  1022.     Drawings,  frames,  outlines,  and boarders can be brought in from
  1023. files and moved around,  squashed,  and stretched or  drawn  in  place
  1024. using  the  front  view  (press [F] from the main menu).  As blocks of
  1025. text, lettering, and boarders can all be separate elements they can be
  1026. saved to disk separately.  This allows you to make changes to part  of
  1027. a page layout or business form without having to redo the whole thing.
  1028.  
  1029.     If you use a standard page layout you can write a macro to read in
  1030. your  formatted  text files and convert them to completed page layouts
  1031. automatically!  Changes in dates and other headings  can  be  done  by
  1032. editing  (press  [W] from the main menu) the LETTERING commands in the
  1033. macro.  The lettering command is able to center a line of text or  put
  1034. its first or last letter where you indicate.
  1035.  
  1036.     Multiple fonts are scheduled for an update in the first quarter of
  1037. 1987.
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.                                  [18]   
  1063.  
  1064. [                 D A N C A D  3 D   T U T O R I A L                 ]   
  1065.  
  1066.  
  1067.  
  1068.     This tutorial is included to acquaint you with how DANCAD 3D works
  1069. so you can  gain  control  of  its  powerful  rendering  capabilities.
  1070. Please  work  carefully  through  all of the lessons in their sequence
  1071. since you will create some files that will be used in later lessons.
  1072.  
  1073.     In the lessons when you see something like:
  1074.  
  1075. Press: [R] [C] 0.123 2.2 1 [Return]
  1076.  
  1077. it means that you are to press the "R" key on your keyboard,  then the
  1078. "C" key then,  enter the  value(s)  as  shown  (that  is  the  numbers
  1079. separated  by  spaces) in response to a screen prompt,  and finally to
  1080. press the "Return" key.
  1081.  
  1082.     The cursor keys  are  written  as:  [4/Left],  [8/Up],  [6/Right],
  1083. [2/Down].  When you see [4],  [8],  [6],  or [2] it means to press the
  1084. top row number keys, or press [NumLock] before using the cursor keys.
  1085.  
  1086. Press: ^[W]
  1087.  
  1088.     Means to hold down the [Ctrl] key and press the [W] key.
  1089.  
  1090.     For the example macros just use the editor ([W]  from  main  menu)
  1091. like any other text editor and type in the macros text as given.
  1092.  
  1093.     To do these lessons use your working disk  in  the  default  drive
  1094. (see the previous section on how to make a working disk).  That is put
  1095. a  disk  that  has  all the files named DANCAD3D.???  (???  stands for
  1096. anything) in the "A:" drive if you have an "A>"  DOS  prompt.  To  run
  1097. DANCAD  3D  enter  at  the  prompt  A>DANCAD3D  and press return.  The
  1098. opening screen will come up.  Please read it then press [Return].  The
  1099. menu you now see is the Main Menu.  When you see "SELECT COMMAND  FROM
  1100. MENU" at the bottom of the screen you may press a key on your keyboard
  1101. to  activate one of DANCAD 3D's commands.  Do not run any of the demos
  1102. before starting to do a  lesson  without  first  exiting  to  DOS  and
  1103. reentering  DANCAD (so that all DANCAD3D's default settings will be in
  1104. effect).
  1105.  
  1106.     Do not press any keys other than the ones you are asked to in  the
  1107. lesson.  Please now read the following lesson 1.
  1108.  
  1109.     Be  sure to allow a few moments for the program to respond between
  1110. command keystrokes.  Otherwise you may need to press the key a  second
  1111. time.
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.                                  [19]   
  1122.  
  1123. [               L E S S O N   1:   2 D   D R A W I N G               ]   
  1124.  
  1125.  
  1126.  
  1127.     If  you  are not looking at DANCAD 3D's main menu,  bring it up as
  1128. described in the previous section.  Look at the commands in  the  menu
  1129. after "drawing:".  See the three commands: Front, ^Side, and Top. They
  1130. mean  you  can  press the "F",  control "S",  and the "T" keys to draw
  1131. facing the 3D working space from the front, side, or top.
  1132.  
  1133. Press: [F] [Return]
  1134.  
  1135.     Now (if your computer is working correctly)  you  should  see  the
  1136. drawing screen.  At the top of the screen you see some numbers.  These
  1137. tell  you  where  the  graphics  cursor  is  in  the three-dimensional
  1138. workspace.  Scale shows the display's scale.  Move shows how  far  the
  1139. graphics  cursor  will  move when you press one of the arrow keys (for
  1140. the "x" and "y" axis) or [7/Home] & [3/PgDn] (for the "z" axis).
  1141.  
  1142. Press: [M] 300 [Return]
  1143. Press: [4/Left] [8/Up] [./Del] [6/Right] [6/Right] [0/Ins] [2/Down]
  1144. Press: [2/Down] [0/Ins] [4/Left] [4/Left] [0/Ins] [8/Up] [8/Up] [0/Ins]
  1145.  
  1146.     You just set the move to 300 units (1/240 inch) and drew a  square
  1147. with 600 unit sides.  The scale of the drawing can be set to any units
  1148. with  the  command  ^[W] from the main menu but leave the scale set to
  1149. one for now.
  1150.  
  1151. Press: ^[^]  (that is [Ctrl] and [^] at the same time)
  1152.  
  1153.     This is screen one of the three drawing  help  screens.  When  you
  1154. are  through with all of the lessons,  look at all of the commands and
  1155. try them out to see how they work.
  1156.  
  1157. Press: [Esc] [Return]
  1158.  
  1159.     We are now back at the main menu.  Lets put a circle in our square.
  1160.  
  1161. Press: ^[P] 36 36 300 [Return] [F] [Return]
  1162.  
  1163.    You should see a "circle" just touching your square  at  the  sides
  1164. and  top  and  bottom.  Lets  put  some lettering in the center of our
  1165. figure.
  1166.  
  1167. Press: [L] [SpaceBar] [SpaceBar] TEST [Return] [Return] [Return]
  1168. Press: [Return] 100 [Return] 100 [Return] [Return] [C] [Return]
  1169.  
  1170.     If everything is going OK you should have TEST lettered  for  you.
  1171. If not press [E] [Y] (erase last element, yes) and try again.
  1172.  
  1173. Press: [Return] [S] [3] [Return] Lesson.1 [Return] [Return]
  1174.  
  1175.     If  no  errors  were  reported you just saved your drawing as a 3d
  1176. file on your work disk.
  1177.  
  1178. Press: ^[I] [Y] [F] [Return]
  1179.  
  1180.                                  [20]   
  1181.  
  1182. [               L E S S O N   1:   2 D   D R A W I N G               ]   
  1183.  
  1184.  
  1185.  
  1186.     Its not there any more.  Lets see if we can bring it back from the
  1187. disk.
  1188.  
  1189. Press: [Return] [L] [3] Lesson.1 [Return] [Return] [F] [Return]
  1190.  
  1191.     And there it is (hopefully, if not redo the lesson).
  1192.  
  1193. Press: [Return] ^[Q] [Y]
  1194.  
  1195.     To exit to DOS.  Re-start DANCAD3D.COM before starting lesson 2.
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.                                  [21]   
  1240.  
  1241. [               L E S S O N   2:   3 D   D R A W I N G               ]   
  1242.  
  1243.  
  1244.  
  1245.     If you are not looking at DANCAD 3D's main menu,  bring it  up  as
  1246. described in the beginning section.
  1247.  
  1248. Press: [F] [Return]
  1249.  
  1250. Press: [M] 300 [Return]
  1251.  
  1252. Press: [4/Left] [8/Up] [./Del] [R] [1]
  1253.  
  1254.     Look  at  the  numbers at the top of the screen.  They should read
  1255. x:-300,  y:-300,  z:0.  That is the cursor position  relative  to  the
  1256. world center (0 0 0).
  1257.  
  1258. Press: [D]
  1259.  
  1260.     Look  at  the  numbers at the top of the screen.  They should read
  1261. x:0,  y:0,  z:0.  Now we are measuring from the last point  marked  by
  1262. pressing [./Del].
  1263.  
  1264. Press: [6/Right] [6/Right]
  1265.  
  1266.     Now you should see x:600,  y:0, z:0.  That is to say that we moved
  1267. right 600 from the last marked point.
  1268.  
  1269. Press: [0/Ins] [D] [R] [2] [2/Down] [2/Down] [0/Ins] [R] [3]
  1270. Press: [4/Left] [4/Left] [0/Ins] [R] [4] [8/Up] [8/Up] [0/Ins]
  1271.  
  1272.     You should now have a square like the  one  you  made  before.  We
  1273. pressed  [R]  to  record  the  corner  points so we could jump to them
  1274. later.
  1275.  
  1276. Press: [J] [1] [./Del] [Z] [0/Ins]
  1277. Press: [J] [2] [./Del] [Z] [0/Ins]
  1278. Press: [J] [3] [./Del] [Z] [0/Ins]
  1279. Press: [J] [4] [./Del] [Z] [0/Ins]
  1280.  
  1281. Press: [Return] [T] [Return]
  1282.  
  1283.     Now you are looking at your drawing from the top.
  1284.  
  1285. Press: [H] [C] [SpaceBar] [SpaceBar] [SpaceBar]
  1286.  
  1287. Press: [3/PgDn] [3/PgDn] [3/PgDn] [SpaceBar] [Return]
  1288.  
  1289.     You just pulled the center of your figure out to make a pyramid.
  1290.  
  1291. Press: [Return] [P] [Return] [SpaceBar]
  1292. Press: 75 [Return] [Return] [Return]
  1293. Press: -4000 [Return] [Return] [Return] [Return] [Return] [Return]
  1294.  
  1295.     See that's one way to draw 3D.  You can use the top and side views
  1296. to help you see where in the workspace the cursor is.  Or just  go  by
  1297.  
  1298.                                  [22]   
  1299.  
  1300. [               L E S S O N   2:   3 D   D R A W I N G               ]   
  1301.  
  1302.  
  1303. the x y z values and draw from the front view.
  1304.  
  1305. Press: [Return] [S] [3] [Return] Lesson.2 [Return] [Return]
  1306. Press: [L] [3] Lesson.2 [Return] [Return] ^[F] 2 [Return] [C] [Z]
  1307.  
  1308. Press: [P] [Return] [Return]
  1309.  
  1310.     Now  we  doubled it back-to-back.  Now see what you can do on your
  1311. own to make a 3D shape and save and load it back again.
  1312.  
  1313. Press: [Return] ^[Q] [Y]
  1314.  
  1315.     To exit to DOS.  Re-start DANCAD3D.COM before starting lesson 3.
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.                                  [23]   
  1358.  
  1359. [             L E S S O N   3:   D I M E N S I O N I N G             ]   
  1360.  
  1361.  
  1362.  
  1363.     DANCAD 3D can be used for mechanical drawing.  It  will  dimension
  1364. in all three dimensions.  The default rotations given to the lettering
  1365. makes it readable when viewed from Front, ^Side, or Top.
  1366.  
  1367.     Start  DANCAD3D.COM  from DOS and press [Return] to go to the main
  1368. menu.
  1369.  
  1370. Press: [F] [Return] [4/Left] [4/Left] [4/Left] [4/Left] [4/Left]
  1371. Press: [2/Down] [2/Down] [./Del] [8/Up] [8/Up] [8/Up] [8/Up]
  1372. Press: [0/Ins] [6/Right] [6/Right] [0/Ins] [2/Down] [2/Down] [0/Ins]
  1373. Press: [M] 500 [Return] [6/Right] [0/Ins] [8/Up] [0/Ins]
  1374. Press: [6/Right] [0/Ins] [2/Down] [H] [2/Down] [2/Down] [0/Ins]
  1375. Press: [K] [4/Left] [H] [4/Left] [4/Left] [0/Ins]
  1376.  
  1377.     You should now have a sort of "U" shaped figure.  Lets  draw  some
  1378. dimensions for it.
  1379.  
  1380. Press: [A] [SpaceBar] [8/Up] [SpaceBar] [SpaceBar] [K] [6/Right]
  1381. Press: [H] [6/Right] [6/Right]
  1382. Press: [SpaceBar] [X] [0] [D] 100 [Return] 100 [Return]
  1383. Press: [Return] [Return] [I]
  1384.  
  1385.     You just drew an automatic dimension.
  1386.  
  1387. Press: [A] [SpaceBar] [8/Up] [8/Up] [SpaceBar] [SpaceBar]
  1388. Press: [4/Left] [4/Left] [4/Left] [4/Left] [4/Left]
  1389. Press: [SpaceBar] [X] [2] [D] [Return] [Return] [Return] [Return]
  1390. Press: [O] [R]
  1391.  
  1392.     And another.
  1393.  
  1394. Press: [A] [SpaceBar] [8/Up] [8/Up] [SpaceBar] [SpaceBar]
  1395. Press: [6/Right] [6/Right] [6/Right] [6/Right] [6/Right]
  1396. Press: [SpaceBar] [X] [0] [B] :UNITS [Return] 30 [Return] 30 [Return]
  1397. Press: [Return] [Return] [O] [L]
  1398.  
  1399.     And one more.  Now let's do one in the "y" axis.
  1400.  
  1401. Press: [A] [SpaceBar] [8/Up] [8/Up] [4/Left] [4/Left] [SpaceBar]
  1402. Press: [SpaceBar] [K] [2/Down]
  1403. Press: [H] [8/Up] [8/Up] [8/Up] [SpaceBar] [Y] [0] [E] TEST [Return]
  1404. Press: 80 [Return] 50 [Return] 1.5 [Return] [Return] [I]
  1405.  
  1406.     The  lettering  of "UNITS" looks too small to read so lets zoom in
  1407. and have a closer look at it.
  1408.  
  1409. Press: [M] 500 [Return] [8/Up] [4/Left]
  1410. Press: [1/End] [+] [+] [+] [+] [+] [+] [*/PrtSc]
  1411. Press: [+] [*/PrtSc] [+] [*/PrtSc]
  1412.  
  1413.     You can toggle the graphics cursor and scale border on and off  by
  1414. pressing the [SpaceBar].
  1415.  
  1416.                                  [24]   
  1417.  
  1418. [             L E S S O N   3:   D I M E N S I O N I N G             ]   
  1419.  
  1420.  
  1421.  
  1422. Press: [SpaceBar] [SpaceBar]
  1423.  
  1424.     Normally  when  you  come  in  to the drawing screens the graphics
  1425. cursor is zeroed and the scale set to show you the whole  drawing.  If
  1426. you  want to go out to the main menu and reenter the drawing modes and
  1427. see the spot you saw when you  left  just  press  [I]  and  [SpaceBar]
  1428. before you press [Return] to return to the main menu.
  1429.  
  1430. Press: [I] [SpaceBar] [Return]
  1431.  
  1432.     Now lets turn the "500:UNITS" dimension upside-down.
  1433.  
  1434. Press: ^[F] 4 [Return] [C] [Y] [F] [Return]
  1435.  
  1436.     See we came back to where we were,  and the lettering was  flipped
  1437. in its current place.
  1438.  
  1439. Press: [S] 1 [Return] [Z] [*/PrtSc] [SpaceBar]
  1440.  
  1441.     Its  is  best to leave the scale boarder turned off when it is not
  1442. needed.
  1443.  
  1444. Press: [SpaceBar] [1/End]
  1445.  
  1446.     OK.  Good, I hope you find the automatic dimensioning useful.
  1447.  
  1448. Press: [Return] ^[Q] [Y]
  1449.  
  1450.     To exit to DOS.  Re-start DANCAD3D.COM before starting lesson 4.
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.                                  [25]   
  1476.  
  1477. [           L E S S O N   4:   W R I T I N G   M A C R O S           ]   
  1478.  
  1479.  
  1480.  
  1481.     Run DANCAD3D from DOS.  Press [Return].  Look at Write command  in
  1482. the main menu.
  1483.  
  1484. Press: [W] [Y]
  1485.  
  1486. Type:
  1487.  
  1488.  
  1489. ; SQR_IT.MAC
  1490.  
  1491. TRACE ON 250       ; turn on trace display, 1/4 sec.
  1492.                    ; delay to slow for reading
  1493. INIT               ; clear the memory
  1494.  
  1495. :A                 ; label for GoTo to loop to
  1496.  
  1497. Load 3D Lesson.1   ; load the file we saved in lesson 1
  1498.  
  1499. GoTo :A 5          ; 6 passes to load 6 sides
  1500.  
  1501. # 1 Offset zero 0 0 -300 ; back
  1502. # 2 Offset zero 0 0  300 ; front
  1503.  
  1504. # 3 Rotate zero 90 0 0  Offset zero 0 -300 0 ; top
  1505. # 4 Rotate zero 90 0 0  Offset zero 0  300 0 ; bottom
  1506.  
  1507. # 5 Rotate zero 0 90 0  Offset zero -300 0 0 ; left side
  1508. # 6 Rotate zero 0 90 0  Offset zero  300 0 0 ; right side
  1509.  
  1510. TRACE OFF 250
  1511.  
  1512. Graph_mode  ; set display mode
  1513.  
  1514. # 0 Display -20 -20 0 -5000 2 1 0 0 ; lets look at it
  1515.  
  1516. echo Press [Return]
  1517. wait ; pause so it can be seen
  1518.  
  1519. ; end SQR_IT.MAC
  1520.  
  1521. Press: ^[K] ^[W] SQR_IT.MAC [Return]
  1522.  
  1523.     You saved it, now lets run it.
  1524.  
  1525. Press: ^[K] ^[X] [Y] ^[R] SQR_IT.MAC [Return]
  1526.  
  1527.     Now  lets  modify SQR_IT.MAC to let us input the name of something
  1528. we want to make into a square.
  1529.  
  1530. Press: [Return] [W] [Y] ^[K] ^[R] SQR_IT.MAC [Return]
  1531.  
  1532.  
  1533.  
  1534.                                  [26]   
  1535.  
  1536. [           L E S S O N   4:   W R I T I N G   M A C R O S           ]   
  1537.  
  1538.  
  1539.     Edit what is on the screen to look like:  (press ^[^] for commands)
  1540.  
  1541. ; SQR_ASK.MAC
  1542.  
  1543. Text_mode ; clear screen
  1544.  
  1545. Echo Use a filename with a decimal extension e.g. ABC.123, Lesson.1, ...
  1546.  
  1547. Name 1 Input          ; assign filename to name var #1
  1548.  
  1549. TRACE ON 0            ; turn on trace display, no delay
  1550.  
  1551. INIT                  ; clear the memory
  1552.  
  1553. :A                    ; label for GoTo to loop to
  1554.  
  1555. Load 3D Name 1 Here   ; load the file entered to name 1
  1556.  
  1557. GoTo :A 5             ; 6 passes to load 6 sides
  1558.  
  1559. # 1 Flip zero Z Offset zero 0 0 -300           ; back
  1560. # 2 Offset zero 0 0  300                       ; front
  1561.  
  1562. # 3 Rotate zero  90 0 0  Offset zero 0 -300 0  ; top
  1563. # 4 Rotate zero -90 0 0  Offset zero 0  300 0  ; bottom
  1564.  
  1565. # 5 Rotate zero 0 -90 0  Offset zero -300 0 0  ; left side
  1566. # 6 Rotate zero 0  90 0  Offset zero  300 0 0  ; right side
  1567.  
  1568. TRACE OFF 250
  1569.  
  1570. Graph_mode  ; set display mode
  1571.  
  1572. # 0 Display -20 -20 0 -5000 1.5 1 0 0 ; lets look at it
  1573.  
  1574. echo Press [Return]
  1575. wait ; pause so it can be seen
  1576.  
  1577. ; end SQR_ASK.MAC
  1578.  
  1579. Press: ^[K] ^[W] SQR_ASK.MAC [Return]
  1580.  
  1581.     You saved it, now lets run it.
  1582.  
  1583. Press: ^[K] ^[X] [Y] ^[R] SQR_ASK.MAC [Return]
  1584.  
  1585.     Now we are asked for a filename.
  1586.  
  1587. Press: Lesson.1 [Return]
  1588.  
  1589. it should produce a figure like the one SQR_IT.MAC did.
  1590.  
  1591. Press: [Return] ^[R] SQR_ASK.MAC [Return]
  1592.  
  1593.                                  [27]   
  1594.  
  1595. [           L E S S O N   4:   W R I T I N G   M A C R O S           ]   
  1596.  
  1597.  
  1598.  
  1599.     This time lets use the figure we made in lesson No.2.
  1600.  
  1601. Press: Lesson.2 [Return]
  1602.  
  1603.     You can look at this figure from another point of view.
  1604.  
  1605. Press: [Return] [P] [Return] [SpaceBar] 10 [Return] 10 [Return]
  1606. Press: 45 [Return]
  1607. Press: [Return] 1.5 [Return] [Return] [Return] [Return] [Return]
  1608.  
  1609.     Press [Return] and try some other rotations.  Keep  the  vanishing
  1610. point more negative than -2000.
  1611.  
  1612.     Go to the main menu (by pressing [Return]) and
  1613.  
  1614. Press: [M] [Return] [Z] 1 1 3 [Return]
  1615.  
  1616.     Then look to see what we did,
  1617.  
  1618. Press: [Return] [P] [Return] [SpaceBar]
  1619. Press: 20 [Return] 20 [Return] 20 [Return] -5000 [Return]
  1620. Press: 0.75 [Return] [Return] [Return] [Return] [Return]
  1621.  
  1622.     You  can  use  SQR_ASK.MAC as an example of how to write a general
  1623. purpose macro that can make a compound figure from simple ones.
  1624.  
  1625. Press: [Return] ^[Q] [Y]
  1626.  
  1627.     To exit to DOS.  Re-start DANCAD3D.COM before starting lesson 5.
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.                                  [28]   
  1653.  
  1654. [                L E S S O N   5:   A N I M A T I O N                ]   
  1655.  
  1656.  
  1657.  
  1658.     Since each element has its own  center  you  can  rotate  elements
  1659. around  them.  You  can  also  rotate  the elements around the world's
  1660. center (x=0,  y=0,  z=0).  By saving sets of elements in rotation  and
  1661. concatenating them (that is save several elements as element 0 to make
  1662. them one element with one center) compound motion of any complexity is
  1663. possible.
  1664.  
  1665.     In  this lesson we will animate a rotation of the cube like object
  1666. we made in lesson 4.  To do this we will write a macro file.  We start
  1667. at the main menu.
  1668.  
  1669. Press: [W] [Y]
  1670.  
  1671. Type:
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.                                  [29]   
  1712.  
  1713. [                L E S S O N   5:   A N I M A T I O N                ]   
  1714.  
  1715.  
  1716. ; Turn.Mac
  1717.  
  1718. INIT               ; clear memory
  1719.  
  1720. Run SQR_IT.MAC     ; run the macro from lesson 4
  1721.  
  1722. # 0 Save 3d temp.1 ; concat to group
  1723. Init               ; clear
  1724. Load 3d temp.1     ; elements 1 to 6 now # 1
  1725.  
  1726. # 1 Rotate Current_center 0 -22.5 0 ; start with it turned
  1727.  
  1728. Lettering
  1729. DANCAD 3D
  1730. 0 525 300 20 0 0 50 75 2 C ; element # 2
  1731.  
  1732. Echo Put a blank formatted disk in drive B:
  1733. Echo Then press [Return].
  1734.  
  1735. {
  1736.    You can change the path used in this macro if you like
  1737.    (e.g.: c:\my_pix\ )
  1738. }
  1739.  
  1740. Wait                 ; wait for [Return] to be pressed
  1741.  
  1742. Name 1 = B:FRAME 0   ; set name 1 to filename B:FRAME.0
  1743.  
  1744. :LABEL_A             ; label for GOTO to loop to
  1745.  
  1746. GRAPH_MODE           ; clear screen for graphics
  1747.  
  1748. # 0 DISPLAY -20 0 0 -5000 1.8 1 0 -100  ; display for pixel save
  1749. SAVE PIXEL NAME 1 NEXT    ; use automatic name command
  1750. # 1 ROTATE Current_center 0 4.5 0 ; 90 degrees / 20 frames = 4.5 d/f
  1751.  
  1752. GOTO :LABEL_A 19     ; loop for 20 passes
  1753.  
  1754. RUN SHOW_20.MAC      ; run a loop to show the frames
  1755.  
  1756. ; end Turn.Mac
  1757.  
  1758. Press: ^[K] ^[W] TURN.MAC [Return]
  1759.  
  1760. Press: ^[O] ^[O] 16 [Return] 1 [Return] ^[O] ^[X]
  1761.  
  1762.     Now we have opened a window to write a sub-macro,
  1763.  
  1764. Type:
  1765.  
  1766. ; SHOW_20.MAC
  1767.  
  1768. GRAPH
  1769.  
  1770.                                  [30]   
  1771.  
  1772. [                L E S S O N   5:   A N I M A T I O N                ]   
  1773.  
  1774.  
  1775. :OUTER
  1776.  Name 1 = B:FRAME 0
  1777.   :INNER_A
  1778.    Load Pixel Name 1 NEXT
  1779.   GOTO :INNER_A 19
  1780.   :INNER_B
  1781.    Name 1 - 1
  1782.    Load Pixel Name 1 HERE
  1783.   GOTO :INNER_B 17
  1784. GOTO :OUTER 4
  1785.  
  1786. ; end SHOW_20.MAC
  1787.  
  1788. Press: ^[K] ^[W] SHOW_20.MAC [Return]
  1789.  
  1790.     Now lets see what all this does.
  1791.  
  1792. Press: ^[K] ^[X] [Y]
  1793. Press: ^[R] TURN.MAC [Return]
  1794.  
  1795.     When  SQR_IT.MAC has run press [Return] as asked and put the blank
  1796. formatted disk (to hold the  frame  files)  in  the  indicated  drive.
  1797. Press [Return].  Now the frames will be drawn and saved as bit maps of
  1798. the video screen in pixel files.
  1799.  
  1800.     After  the  pixel files are saved you should see them replayed for
  1801. you by the macro,  SHOW_24.MAC,  that you  typed  and  saved  on  your
  1802. working  disk.  Let  the  animation go through a few cycles then press
  1803. the [T] key on your keyboard to turn the trace on and  study  how  the
  1804. commands you saved in the macro file, SHOW_24.MAC, operate.
  1805.  
  1806.     If you have DANMOVIE.COM you can use it to display the frame files
  1807. with rapid and smooth motion.  (you get the latest version of DANMOVIE
  1808. when you order the bonus disks for $7.50 (outside the  48  states  add
  1809. postage)).
  1810.  
  1811.     The macro DEMO.1 on the DANCAD3D.COM disk uses these principles to
  1812. show  two  gears  turning  so  that  the  meshing  of the teeth can be
  1813. verified.  Look at it and read its source code as an example of how to
  1814. animate moving parts.
  1815.  
  1816.     Now you should have some idea how DANCAD3D works.  DANCAD 3D has a
  1817. way to make just about any sort of object(s) you may want to make  and
  1818. animate  them.  If you write any interesting macros send me a copy,  I
  1819. would like to see what you are doing with DANCAD 3D.
  1820.  
  1821.     The  appendixes  that  follow  this  tutorial   contain   detailed
  1822. information on all DANCAD 3D's commands.
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.                                  [31]   
  1830.  
  1831. [        A P P E N D I X   A:  D R A W I N G   C O M M A N D S       ]   
  1832.  
  1833.  
  1834.  
  1835.     To draw 2D (flat) drawings with DANCAD 3D press the [F]  key  when
  1836. you  are  looking at the Main Menu (the second screen you see when you
  1837. run the program).  To draw 3D shapes press [T] (top view),  [F] (front
  1838. view),  or  ^[S]  (side  view).  See  lessons  1 and 2 in the tutorial
  1839. section.
  1840.  
  1841.     To draw a line go into one of the drawing modes  (F,^S,or  T)  use
  1842. the  cursor  keys  to move to the starting point and press the [./Del]
  1843. key.  Use the cursor keys to move to the lines end point and press the
  1844. [0/Ins] key to draw and record your line.  Please read the description
  1845. for each drawing command given below.
  1846.  
  1847. [.]  or  [DEL] = Mark new start of line otherwise the line starts with
  1848.                  last point marked with [0]/[INS].
  1849. [0]  or  [INS] = Marks end point,  draws and records a line.
  1850. [?] = Test appearance  of line before keeping it (faster than Undo).
  1851. [U] = Undo, removes lines in reverse order, (latest element only,
  1852.       you can rearrange elements.  Undo also works on text).
  1853.  
  1854. [4] or [LEFT]  =  x - move, move "left".
  1855. [6] or [RIGHT] =  x + move, move "right".
  1856. [8] or [UP]    =  y - move, move "up".
  1857. [2] or [DOWN]  =  y + move, move "down".
  1858. [7] or [HOME]  =  z - move, move "in".
  1859. [3] or [PgDn]  =  z + move, move "out".
  1860. [Z]  = zero x y z.
  1861.  
  1862. [O]  = Sets move to 1.
  1863. [T]  = Sets move to 10.
  1864. [H]  = Sets move to 100.
  1865. [K]  = Sets move to 1000.
  1866. [M]  = Set move to any number, see also G goto x y z.
  1867.  
  1868. [R]  = Record cursor x y z with an index 0..9 to jump to later.
  1869. [J]  = Jump to recorded cursor x y z,
  1870.        works when going from Top to ^Side to Front.
  1871. [G]  = Goto, entered x y z.
  1872.  
  1873. [1] or [END]   =  Toggle scale border on/off.
  1874. [*]  = Displays area within scale border. [Any-Key] pressed after *
  1875.        lets you abort the screen up-date or speed it up (1x,2x,4x,10x).
  1876. [+]  = Zoom in, makes scale border smaller. Press * to see up-date.
  1877. [-]  = Zoom out, makes scale border bigger. Press * to see up-date.
  1878. [S]  = Set scale manually, zoom in or out.  Press * to see up-date.
  1879.  
  1880. [=]  = Search for (first match) array number of a displayed line.
  1881.        Use this information for main menu Alter and ^Delete.
  1882.  
  1883. [P]  = Pixel, save the drawing you see to disk, type filename at beep.
  1884.  
  1885.  
  1886.  
  1887.  
  1888.                                  [32]   
  1889.  
  1890. [        A P P E N D I X   A:  D R A W I N G   C O M M A N D S       ]   
  1891.  
  1892.  
  1893. [D]  = Delta, toggle writing of x y z cursor position on top line in
  1894.        delta form from the last point marked with [0/INS] or [./DEL].
  1895. [I]  = Initialize draw, toggle the automatic resetting of scale and
  1896.        zeroing of x y z on and off so you can go to the menu and return
  1897.        to where you were.  You can then zoom in once and go from Front
  1898.        to ^Side to Top without having to relocate each time.
  1899. [N]  = Number of digits to the right of the decimal point drawn in
  1900.        automatic dimensioning (default setting).
  1901.  
  1902. [SpaceBar] =  Toggle display graphics cursor on and off.
  1903. [Return]   =  Return to main menu.
  1904.  
  1905. [L]  = Lettering at graphics cursor with centering options.
  1906. [A]  = Automatic dimensioning, inside and outside with options.
  1907.  
  1908. [E]  = Erase the elements in reverse order.
  1909. [C]  = Change,  find and move  a  point  where connecting  lines,
  1910.        meet use it to "pull"  points around and make corrections.
  1911. ^[C] = Change center, move the rotation center of an element.
  1912. [B]  = Begin drawing a new element.
  1913. ^[^] = Drawing help screens.
  1914. [/]  = Menu of above commands.
  1915.  
  1916.  
  1917.     When you draw using F or ^S or T the lines  are  appended  to  the
  1918. element  shown  on  the  main menu's status line.  If no elements have
  1919. been loaded element No. 1 will be created when the first line is drawn
  1920. and subsequent lines will belong to element No.  1.  If  you  wish  to
  1921. draw  lines  as a separate element when elements are present press [B]
  1922. to begin drawing a new element.
  1923.  
  1924.     The graphics cursor has a "clear" pixel at its center to help  you
  1925. align it with points on lines in the drawing.
  1926.  
  1927.     Try  to  draw  simple  shapes  that you can save and load later to
  1928. combine to build bigger  shapes.  The  R(ecord  x  y  z)  /  J(ump  to
  1929. recorded  x  y  z)  combined with C(hange point x y z) are useful when
  1930. drawing 3D shapes since they can be drawn 2D then "pull" points  in  z
  1931. axis with C while viewing in ^S(ide) or T(op).
  1932.  
  1933.     To  save  time write macros for complex shapes so you can edit the
  1934. macro rather than re-enter commands manually.
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.                                  [33]   
  1948.  
  1949. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  1950.  
  1951.  
  1952.  
  1953.     This  appendix  contains  information  on  the  DANCAD  3D   macro
  1954. (programming) commands available for your use in writing automatic CAD
  1955. programs.  DANCAD  3D  will  read  a file of these commands and act on
  1956. them just as if you  were  entering  them  from  the  menus.  Moreover
  1957. macros  can call macros that can call macros until you run out of free
  1958. memory.  They can also do loops.
  1959.  
  1960.     One of the biggest advantages of writing  a  macro  over  pressing
  1961. menu  keys  is  the  ability to edit and rerun the macro if you make a
  1962. mistake.  They save time in the long run (the short run too).
  1963.  
  1964.     On the fallowing pages the word between the [ and ] is the command
  1965. name.
  1966.  
  1967. PURPOSE:     Tells you what the command does.
  1968.  
  1969. MENU:        Tells you what keys to press to get the equivalent
  1970.              command from the main menu.
  1971.  
  1972. PROGRAM:     Tells you what combinations of letters will trigger
  1973.              automatic recognition of the command.  Only the first
  1974.              three letters of most commands are required so some
  1975.              abbreviations are given.  e.g. WAI or Wait_for_[Return]
  1976.              do the same thing.  Commands can be typed in upper and/or
  1977.              lower case.  All commands start with the first letter
  1978.              after a space.
  1979.  
  1980. PARAMETERS:  Gives a list of how many and what kind of parameters MUST
  1981.              follow the command name in your macro.  All parameters
  1982.              must be stated and separated by a space!
  1983.  
  1984. EXAMPLE:     These show how you would type the command and its
  1985.              parameters in your macro file.
  1986.  
  1987. NA means that it doesn't apply in that case.
  1988.  
  1989.     The ^ in front of a menu letter tells you to hold down [CTRL]  key
  1990. like you would the shift key and press the letter key shown.
  1991.  
  1992.     You must leave a space between all commands and parameters !!!!!!!
  1993. You  must  state  all  of  the  parameters that go with a command in a
  1994. program.  Press ^C to Break a Running DANCAD 3D  file  and  return  to
  1995. main menu.
  1996.  
  1997.     Only  the  first three letters of most of the program commands are
  1998. used.  So you can use the abbreviations shown  after  PROGRAM:  below.
  1999. Using  the  abbreviations,  omitting  comments  and  putting  loops in
  2000. separate files will speed-up program execution.
  2001.  
  2002.     A label used in a program must be a continuous  bunch  of  letters
  2003. without  spaces.  To  avoid  a  label  being mistaken for a command it
  2004. should start with an colon symbol : (e.g. :My_Loop or :L1).  The label
  2005.  
  2006.                                  [34]   
  2007.  
  2008. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2009.  
  2010.  
  2011. must appear the same in both places, and be used in only one goto loop
  2012. pair in a file.
  2013.  
  2014.     If you get an "Too Many Files Open"  error when  nesting  the  Run
  2015. command add files=20 to your DOS config.sys file.
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.                                  [35]   
  2066.  
  2067. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2068.  
  2069.  
  2070.  
  2071. [                              A L T E R                             ]
  2072.  
  2073.  
  2074. PURPOSE:      To change a x or y or z value by line number.
  2075.               Use = inside of F or ^S of T to find line number.
  2076.               You can also use C (change) while drawing manually.
  2077.  
  2078. MENU:         N  A
  2079.  
  2080. PROGRAM:      NA
  2081.  
  2082. PARAMETERS:   NA
  2083.  
  2084. EXAMPLE:      NA
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096. [                               B E E P                              ]
  2097.  
  2098.  
  2099. PURPOSE:      For computer to make an audio beep.
  2100.  
  2101. MENU:         NA
  2102.  
  2103. PROGRAM:      Beep  beep BEE
  2104.  
  2105. PARAMETERS:   none
  2106.  
  2107. EXAMPLE:      Beep                ; alert operator
  2108.               Echo PUT DATA DISK No. 6 IN DRIVE B:
  2109.               Wait                ; stop for action
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.                                  [36]   
  2125.  
  2126. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2127.  
  2128.  
  2129. [                              B L O C K                             ]
  2130.  
  2131.  
  2132. PURPOSE:      To read a ASCII text file in and draw it with upper left
  2133.               at 0 0 0 with normal size and spacing.
  2134.  
  2135. MENU:         B
  2136.  
  2137. PROGRAM:      Block_of_text  block  BLO
  2138.  
  2139. PARAMETERS:   path\filename.ext
  2140.  
  2141. EXAMPLE:      BLO c:\TEXT\corner.jx2   ; lines will be
  2142.  
  2143.               ; generated until the work space is full
  2144.               ; e.g.: 10920 for the 640k version
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154. [                             C E N T E R                            ]
  2155.  
  2156.  
  2157. PURPOSE:      To change an elements center point.
  2158.  
  2159. MENU:         F ^C  or  ^S ^C  or  T ^C
  2160.  
  2161. PROGRAM:      Center_of_element  Center  CEN
  2162.  
  2163. PARAMETERS:   x_value  y_value  z_value
  2164.  
  2165. EXAMPLE:      # 7 CEN -1.234567E-10 0.001 666
  2166.               {
  2167.               set center of element No. 7 to given x y z values
  2168.               }
  2169.  
  2170.               # 128 center_at -400 200 0  | re-center No. 128 also
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.                                  [37]   
  2184.  
  2185. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2186.  
  2187.  
  2188. [                              C L E A N                             ]
  2189.  
  2190.  
  2191. PURPOSE:      To remove fractional part of x y z point values.
  2192.  
  2193. MENU:         N C
  2194.  
  2195. PROGRAM:      Clean  clean  CLE
  2196.  
  2197. PARAMETERS:   none
  2198.  
  2199. EXAMPLE:      # 0 CLE             ; round all points
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213. [                              D E L A Y                             ]
  2214.  
  2215.  
  2216. PURPOSE:      Delay progress of program for 1 to 32766 milliseconds.
  2217.  
  2218. MENU:         NA
  2219.  
  2220. PROGRAM:      Delay  delay  DEL
  2221.  
  2222. PARAMETERS:   delay_of_milliseconds_as_an_integer
  2223.  
  2224. EXAMPLE:      DEL 1000            ; a one second delay
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.                                  [38]   
  2243.  
  2244. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2245.  
  2246.  
  2247. [                             D E L E T E                            ]
  2248.  
  2249.  
  2250. PURPOSE:      To delete a line in an element.
  2251.  
  2252. MENU:         N D
  2253.  
  2254. PROGRAM:      NA
  2255.  
  2256. PARAMETERS:   NA
  2257.  
  2258. EXAMPLE:      NA
  2259.  
  2260.  
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272. [                            D I S P L A Y                           ]
  2273.  
  2274.  
  2275. PURPOSE:      To display the lines on the video screen.
  2276.  
  2277. MENU:         P  or  F  or  ^S  or  T  (see also Load Pixel)
  2278.  
  2279. PROGRAM:      Display  display  DIS
  2280.  
  2281. PARAMETERS:   xdeg ydeg zdeg zvp scale mode x_shift y_shift
  2282.  
  2283. EXAMPLE:      # 0 DIS 0 0 0 -1e6 240 1 0 0  ; video display
  2284.               SAV PIX b:frame.36            ; and save it
  2285.               ; x_shift and y_shift move the vanishing point off center
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.                                  [39]   
  2302.  
  2303. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2304.  
  2305.  
  2306. [                                D O T                               ]
  2307.  
  2308.  
  2309. PURPOSE:      To print out at 51840 dots per square inch on 5152  type
  2310.               graphics  printer  select  number  of strips for drawing
  2311.               height (paper feed) 12 strips = 10.8 inches  of  drawing
  2312.               on 11 inch paper enter number of horizontal strips (9/10
  2313.               inch high ea.).
  2314.  
  2315. MENU:         H D
  2316.  
  2317. PROGRAM:      Dot_printer  Dot  DOT
  2318.  
  2319. PARAMETERS:   strips xdeg ydeg zdeg zvp scale mode x_shift y_shift
  2320.  
  2321. EXAMPLE:      # 0 DOT 12 0 0 0 -1e6 240 1 0 0    ; very sharp hard copy
  2322.               ; x_shift and y_shift move the vanishing point off center
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331. [                               D U M P                              ]
  2332.  
  2333.  
  2334. PURPOSE:      To print out screen dump using DOS graphics.com.
  2335.  
  2336. MENU:         [Shift][PrtSc]
  2337.  
  2338. PROGRAM:      Dump  dump  DUM
  2339.  
  2340. PARAMETERS:   none
  2341.  
  2342. EXAMPLE:      # 0 DIS 0 0 0 -1e20 1 0 0 0   ; put it in video screen
  2343.               DUM                 ; use DOS print out
  2344.                                   ; use DOT command instead if you can
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.                                  [40]   
  2361.  
  2362. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2363.  
  2364.  
  2365. [                               E C H O                              ]
  2366.  
  2367.  
  2368. PURPOSE:      To display a message on the screen.
  2369.  
  2370. MENU:         NA
  2371.  
  2372. PROGRAM:      ECHO  Echo  ech
  2373.  
  2374. PARAMETERS:   text
  2375.  
  2376. EXAMPLE:      Echo the text goes to the end of the line
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388.  
  2389.  
  2390. [                              E N T E R                             ]
  2391.  
  2392.  
  2393. PURPOSE:      To manually enter line data by value of end-points.
  2394.  
  2395. MENU:         E
  2396.  
  2397. PROGRAM:      Enter  enter  ENT
  2398.  
  2399. PARAMETERS:   (new line) x1 y1 z1 z2 y2 z2
  2400.               (new line) x1 y1 z1 z2 y2 z2 (and so on)
  2401.               (new line) 0 0 0  0 0 0
  2402.  
  2403. EXAMPLE:                          ; do not put comments inside enter
  2404.               ENT
  2405.                100.00      0.00      0.00     50.00     86.60      0.00
  2406.                -50.00     86.60      0.00   -100.00      0.00      0.00
  2407.               -100.00      0.00      0.00    -50.00    -86.60      0.00
  2408.                 49.99    -86.60      0.00    100.00     -0.00      0.00
  2409.               0 0 0  0 0 0
  2410.                                   ; 0 0 0  0 0 0 ends list of points
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.                                  [41]   
  2420.  
  2421. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2422.  
  2423.  
  2424. [                               F L I P                              ]
  2425.  
  2426.  
  2427. PURPOSE:      To flip (invert) the points across an axis.
  2428.  
  2429. MENU:         ^F C  or  ^F Z
  2430.  
  2431. PROGRAM:      Flip Zero   flip current   FLI Z    fli c
  2432.  
  2433. PARAMETERS:   center_to_use letter_of_axis
  2434.  
  2435.               (center to use = C, elements current or Z, zero)
  2436.               (letter of axis = X or Y or Z)
  2437.  
  2438. EXAMPLE:      # 1 Flip c Z          ; flip z on # 1's center
  2439.               # 2 Flip c X          ; flip x on # 2's center
  2440.               # 3 Flip c Y          ; flip y on # 3's center
  2441.               # 1 Flip z Z          ; z = -z in element 1
  2442.               # 2 Flip z X          ; x = -x in element 2
  2443.               # 3 Flip z Y          ; y = -y in element 3
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449. [                               G O T O                              ]
  2450.  
  2451.  
  2452. PURPOSE:      To loop in a DANCAD3D program file.
  2453.  
  2454. MENU:         NA
  2455.  
  2456. PROGRAM:      GOTO  goto  (only spelled out in full)
  2457.  
  2458. PARAMETERS:   :Label times
  2459.  
  2460. EXAMPLE:      :L1                 ; declare a label.
  2461.               Beep                ; dummy anything.
  2462.               GOTO :L1 11         ; loop up to :L1 11 times for
  2463.                                   ; 12 passes through the loop.
  2464.                                   ; the first character of a label
  2465.                                   ; should be a colon
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.                                  [42]   
  2479.  
  2480. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2481.  
  2482.  
  2483. [                         G R A P H__M O D E                         ]
  2484.  
  2485.  
  2486. PURPOSE:      To clear and set graphics screen before calling Display.
  2487.  
  2488. MENU:         NA
  2489.  
  2490. PROGRAM:      Graph_mode  Graph  graph  GRA
  2491.  
  2492. PARAMETERS:   none
  2493.  
  2494. EXAMPLE:      GRA                 ; clear screen for Display
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508. [                               H A L T                              ]
  2509.  
  2510.  
  2511. PURPOSE:      To stop program and return error level to DOS.
  2512.  
  2513. MENU:         ^Q
  2514.  
  2515. PROGRAM:      Halt  HAL
  2516.  
  2517. PARAMETERS:   error_level
  2518.  
  2519. EXAMPLE:      Halt 0         ; go back to DOS and report no error (0)
  2520.                              ; useful in DOS batch files
  2521.                              ; start program with DANCAD3D P\FN.E
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.                                  [43]   
  2538.  
  2539. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2540.  
  2541.  
  2542. [                         I N I T I A L I Z E                        ]
  2543.  
  2544.  
  2545. PURPOSE:      To destroy all data in memory, reset elements and lines
  2546.               to 0.
  2547.  
  2548. MENU:         ^I Y
  2549.  
  2550. PROGRAM:      Init  initialize  INI
  2551.  
  2552. PARAMETERS:   none
  2553.  
  2554. EXAMPLE:      INI                 ; make work-space like new
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567. [                             I N S E R T                            ]
  2568.  
  2569.  
  2570. PURPOSE:      To insert a line in an element.
  2571.  
  2572. MENU:         N I
  2573.  
  2574. PROGRAM:      NA
  2575.  
  2576. PARAMETERS:   NA
  2577.  
  2578. EXAMPLE:      NA
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.                                  [44]   
  2597.  
  2598. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2599.  
  2600.  
  2601. [                          L E T T E R I N G                         ]
  2602.  
  2603.  
  2604. PURPOSE:      To put lettering in the drawing (see also Block).
  2605.  
  2606. MENU:         ^L
  2607.  
  2608. PROGRAM:      Lettering  lettering  LET
  2609.               Center or c, First or f, Last or l ...
  2610.  
  2611. PARAMETERS:   text   ( on its own line )
  2612.               xoff yoff zoff xrot yrot zrot height length spacing center
  2613.  
  2614.               (center = C, centering or F, first_letter, L, last_letter)
  2615.  
  2616. EXAMPLE:      LETTERING_on_next_line
  2617.               This is some text to end of line
  2618.               -800 0 0 0 0 90 50 50 1 C ; parameters on line after text
  2619.                                         ; normal spacing is 1.0
  2620.               ; see also drawing commands:
  2621.               ; [L] lettering at cursor  and  [A] automatic dimensioning
  2622.               LET
  2623.               Message.
  2624.               0 0  0 0 0  7 5  3 First  ; puts first letter at 0 0 0
  2625.  
  2626. [                            L O A D   2 D                           ]
  2627.  
  2628.  
  2629. PURPOSE:      To load an element from a 2D real  disk  file  with  the
  2630.               same  perspective  it  had  when saved.  Can be used for
  2631.               shadows, multiple views, and special effects.
  2632.  
  2633. MENU:         L 2
  2634.  
  2635. PROGRAM:      Load 2D  load 2  LOA 2
  2636.  
  2637. PARAMETERS:   path\filename.ext
  2638.  
  2639. EXAMPLE:      LOA 2 c:\2D\flat.1  E    ; load from sub dir 2D
  2640.               Load 2D a:MyFile.2D      ; load from a: drive
  2641.               Load 2D Name 5 Here      ; use automatic name
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.                                  [45]   
  2656.  
  2657. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2658.  
  2659.  
  2660. [                            L O A D   3 D                           ]
  2661.  
  2662.  
  2663. PURPOSE:      To load an element from a 3D real disk file
  2664.               this can also load elements saved with Save Elements.
  2665.  
  2666. MENU:         L 3
  2667.  
  2668. PROGRAM:      Load 3D  load 3  LOA 3
  2669.  
  2670. PARAMETERS:   path\filename.ext
  2671.  
  2672. EXAMPLE:      LOA 3 c:\3D\deep.1       ; load from sub dir 3D
  2673.               Load 3D a:MyFile.3D      ; load from a: drive
  2674.               Load 3D Name 5 Here      ; use automatic name
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685. [                         L O A D   A S C I I                        ]
  2686.  
  2687.  
  2688. PURPOSE:      To load ASCII disk file as an element (see also Enter).
  2689.  
  2690. MENU:         L A
  2691.  
  2692. PROGRAM:      Load ASCII  load a  LOA A
  2693.  
  2694. PARAMETERS:   path\filename.ext
  2695.  
  2696. EXAMPLE:      LOA A c:\ASCII\text.1    ; load from sub dir ASCII
  2697.               Load ASCII a:MyFile.ASC  ; load from a: drive
  2698.               Load ASCII Name 5 Here   ; use automatic name
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713.  
  2714.                                  [46]   
  2715.  
  2716. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2717.  
  2718.  
  2719. [                      L O A D   E L E M E N T S                     ]
  2720.  
  2721.  
  2722. PURPOSE:      To reload a set of elements from 3D-real disk files
  2723.               by numbered .ext.
  2724.  
  2725. MENU:         L E
  2726.  
  2727. PROGRAM:      Load Elements  load e  LOA E
  2728.  
  2729. PARAMETERS:   path\filename     (only, no .ext)
  2730.  
  2731. EXAMPLE:      LOA E c:\WORK\job-1 ; load all elements as they were
  2732.                                   ; DO NOT use with NAME command
  2733.                                   ; if saved as a set a file
  2734.                                   ; filename.SET will be read to
  2735.                                   ; restore the element centers
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744. [                         L O A D   P I X E L                        ]
  2745.  
  2746.  
  2747. PURPOSE:      To load the video screen from  disk,  can  be  used  for
  2748.               display  or  backgrounds for drawing over or building up
  2749.               unlimited lines.
  2750.  
  2751. MENU:         L P
  2752.  
  2753. PROGRAM:      Load Pixel  load p  LOA P
  2754.  
  2755. PARAMETERS:   path\filename.ext
  2756.  
  2757. EXAMPLE:      LOA P c:\PIXEL\frame.1   ; load video display only
  2758.               Load Pixel a:MyFile.PIX  ; load from a: drive
  2759.               Load Pixel Name 5 Here   ; use automatic name
  2760.                                        ; see command NAME
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.                                  [47]   
  2774.  
  2775. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2776.  
  2777.  
  2778. [                      M A G N I F I C A T I O N                     ]
  2779.  
  2780.  
  2781. PURPOSE:      To make elements big and small or both.
  2782.  
  2783. MENU:         M C  or  M Z
  2784.  
  2785. PROGRAM:      Magnify Current  Mag Zero  MAG C  mag z
  2786.  
  2787. PARAMETERS:   center  x_mag_real  y_mag_real  z_mag_real
  2788.  
  2789. EXAMPLE:      # 2 MAG C 0.1 1 10  ; note that if you want an axis to
  2790.                                   ; stay the same you use mag 1 not 0.
  2791.               # 5 mag zero 2 2 2  ; grows away from x y z = 0 0 0
  2792.               # 0 mag zero 2 2 2  ; scale everything
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.                                  [48]   
  2833.  
  2834. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2835.  
  2836.  
  2837. [                               N A M E                              ]
  2838.  
  2839.  
  2840. PURPOSE:      To substitute for path\filename.ext and automatically
  2841.               generate numbered files for looping.
  2842.  
  2843. MENU:         NA
  2844.  
  2845. PROGRAM:      NAME  name  (only spelled out in full)
  2846.  
  2847. PARAMETERS:   index = path\filename  ext_starting_value
  2848.               index HERE  or  index here
  2849.               index NEXT  or  index next
  2850.               index INPUT or  index input
  2851.               index + value
  2852.               index - value
  2853.  
  2854.      (index = 0..7, ext_starting_value = -99..999, value = 1..1098)
  2855.  
  2856. EXAMPLE:      NAME 1 = c:\sub\myfile 0 ; assign name 1 c:\sub\myfile.0
  2857.               LOAD 3D NAME 7 HERE ; use name No. 7 to load a 3D file
  2858.               LOAD 3D NAME 7 NEXT ; advance .ext before using
  2859.               NAME 3 + 10         ; add 10 to name 3's .ext
  2860.               NAME 4 - 25         ; subtract 25 from name 4's .ext
  2861.               NAME 5 INPUT        ; asks user to enter a filename.
  2862.  
  2863. Use this form for name i input:
  2864.  
  2865.  Load 3D name 1 input (User entered:c:\MY\GQ.3D)
  2866.  
  2867. when the .EXT is not numeric, and
  2868.  
  2869.   name 1 input Load 3D name 1 here (User entered: Pix.24)
  2870.  
  2871. when you want to be able to reuse  the  input  filename  that  uses  a
  2872. numeric  extension and modify its numeric extension.  You cannot reuse
  2873. input filenames that do not use a numeric extension.
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.                                  [49]   
  2892.  
  2893. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2894.  
  2895.  
  2896.  
  2897. [                            N U M E R I C                           ]
  2898.  
  2899.  
  2900. PURPOSE:      To get a listing of the point values and element centers.
  2901.  
  2902. MENU:         N N (reads in exponential notation, will not echo to prn)
  2903.  
  2904. PROGRAM:      Save ASCII
  2905.  
  2906. PARAMETERS:   PRN. or AUX.
  2907.  
  2908. EXAMPLE:      SAV A PRN           ; print a listing of the lines
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922. [                             O F F S E T                            ]
  2923.  
  2924.  
  2925. PURPOSE:      To move the main image of an element,
  2926.               x = x+xoff, y = y+yoff, z = z+zoff.
  2927.  
  2928. MENU:         O C  or  O Z  or  O R
  2929.  
  2930. PROGRAM:      Offset Current   offset zero  OFF C  off z  off recorded
  2931.  
  2932. PARAMETERS:   center_to_use x_offset_real y_offset_real z_offset_real
  2933.  
  2934.               (center to use = C, elements current or
  2935.               Z, absolute from x y z equal to zero or
  2936.               R, x y z recorded in Front, ^Side or Top.)
  2937.  
  2938.  
  2939. EXAMPLE:      # 5 OFF C 97.3 0 1.0E-5  ; move element No. 5
  2940.                                        ; relative to present position
  2941.                                        ; x=x+97.3
  2942.                                        ; z=z+1.0E-5
  2943.               # 1 off R 0 0 0          ; the 0 0 0 is a necessary
  2944.               ; dummy argument for offset to a recorded x y z
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.                                  [50]   
  2951.  
  2952. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  2953.  
  2954.  
  2955. [                            P L O T T E R                           ]
  2956.  
  2957.  
  2958. PURPOSE:      To print out on an installed plotter
  2959.               (use menu H I to install).
  2960.  
  2961. MENU:         H P
  2962.  
  2963. PROGRAM:      Plotter  plot  PLO
  2964.  
  2965. PARAMETERS:   xdeg ydeg zdeg zvp scale mode x_shift y_shift
  2966.  
  2967. EXAMPLE:      # 0 PLO 0 0 0 -1e6 240 1 0 0  ; super sharp hard copy
  2968.               ; x_shift and y_shift move the vanishing point off center
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980. [                            P O L Y G O N                           ]
  2981.  
  2982.  
  2983. PURPOSE:      To draw all or part of a regular polygon as an element.
  2984.  
  2985. MENU:         ^P
  2986.  
  2987. PROGRAM:      Polygon  polygon  POL
  2988.  
  2989. PARAMETERS:   total_sides_integer  sides_drawn_integer  radius_real
  2990.  
  2991. EXAMPLE:      POL 36 18 0.1       ; draw half a small "circle"
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.                                  [51]   
  3010.  
  3011. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  3012.  
  3013.  
  3014. [                             R E M A R K                            ]
  3015.  
  3016.  
  3017. PURPOSE:      Remark, the remainder of the line is skipped.
  3018.  
  3019. MENU:         NA
  3020.  
  3021. PROGRAM:      ; or | or Rem or { }
  3022.  
  3023. PARAMETERS:   text
  3024.  
  3025. EXAMPLE:      ; this is a reminder
  3026.               | so is this
  3027.               REM and this, so no commands go here
  3028.               {
  3029.               Curly braces can be used to block out command text.
  3030.               Leave a space in front of "}"!
  3031.               They must pair { { { } } }.
  3032.               }
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039. [                             R O T A T E                            ]
  3040.  
  3041.  
  3042. PURPOSE:      To turn the main image of an element around a center.
  3043.  
  3044. MENU:         R C  or  R Z
  3045.  
  3046. PROGRAM:      Rotate Current  rotate zero  ROT C  rot z
  3047.  
  3048. PARAMETERS:   center  x_degrees_real  y_degrees_real  z_degrees_real
  3049.  
  3050. EXAMPLE:      # 4 ROT Z 22.5 45  90    ; turn element 4 on all 3 axis
  3051.               # 7 ROT Z  0   0  120    ; turn element 7 on z axis only
  3052.               # 1 ROT C  0   0  22.5   ; turn element 1 on its center
  3053.  
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.                                  [52]   
  3069.  
  3070. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  3071.  
  3072.  
  3073. [                                R U N                               ]
  3074.  
  3075.  
  3076. PURPOSE:      To run a file of DANCAD3D commands, they can be nested.
  3077.  
  3078. MENU:         ^R
  3079.  
  3080. PROGRAM:      Run  run  RUN
  3081.  
  3082. PARAMETERS:   path\filename.ext
  3083.  
  3084. EXAMPLE:      RUN c:\programs\frame-it.001
  3085.               RUN NAME 3 HERE          ; see NAME
  3086.               RUN NAME 2 NEXT          ; see NAME
  3087.  
  3088. (Also you can enter DANCAD3D PATH\FILENAME.EXT from DOS or batch file).
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098. [                           S A V E    2 D                           ]
  3099.  
  3100.  
  3101. PURPOSE:      To save one or all element(s) to an 2D integer disk file
  3102.               with perspective.  Can be  used  for  shadows,  multiple
  3103.               views,  or saving disk space by preserving a perspective
  3104.               view in 2D.  Point x y z values can range from -32767 to
  3105.               32767.
  3106.  
  3107. MENU:         S 2
  3108.  
  3109. PROGRAM:      Save 2D  save 2  SAV 2
  3110.  
  3111. PARAMETERS:   xdeg ydeg zdeg zvp scale mode x_shift y_shift p\fn.ext
  3112.  
  3113. EXAMPLE:      SAV 2 0 0 0 -1e18 1 0 0 0 c:\2D\flat.1       ; save in
  3114.                                                            ; sub dir 2D
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.                                  [53]   
  3128.  
  3129. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  3130.  
  3131.  
  3132. [                           S A V E    3 D                           ]
  3133.  
  3134.  
  3135. PURPOSE:      To save one or all element(s) to an 3D real disk file
  3136.               point x y z values can range from 1.0E-18 to 1.0E+18.
  3137.  
  3138. MENU:         S 3
  3139.  
  3140. PROGRAM:      Save 3D  save 3  SAV 3
  3141.  
  3142. PARAMETERS:   path\filename.ext
  3143.  
  3144. EXAMPLE:      SAV 3 c:\3D\round.1      ; save in sub dir 3D
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157. [                        S A V E    A S C I I                        ]
  3158.  
  3159.  
  3160. PURPOSE:      To save one or all element(s) to an ASCII disk file
  3161.               and/or, make a print-out of point x y z values.
  3162.  
  3163. MENU:         S A
  3164.  
  3165. PROGRAM:      Save ASCII  save a  SAV A
  3166.  
  3167. PARAMETERS:   path\filename.ext
  3168.  
  3169. EXAMPLE:      SAV A c:\ASCII\text.1    ; save in sub dir ASCII
  3170.               SAV A prn.               ; send to parallel printer
  3171.               SAV A aux.               ; send to serial printer
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.                                  [54]   
  3187.  
  3188. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  3189.  
  3190.  
  3191. [                     S A V E    E L E M E N T S                     ]
  3192.  
  3193.  
  3194. PURPOSE:      To save all elements to a 3D-real disk file
  3195.               by numbered .ext for reloading as a set.
  3196.  
  3197. MENU:         S E
  3198.  
  3199. PROGRAM:      Save Elements  save e  SAV E
  3200.  
  3201. PARAMETERS:   path\filename     (only, no .ext)
  3202.  
  3203. EXAMPLE:      SAV E c:\WORK\job-1 ; save all elements as they are
  3204.                                   ; DO NOT use the NAME command.
  3205.                                   ; a file filename.SET will
  3206.                                   ; be created to contain the
  3207.                                   ; elements centers so that
  3208.                                   ; Load Elements can restore them
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216. [                        S A V E    P I X E L                        ]
  3217.  
  3218.  
  3219. PURPOSE:      To save the video screen to  disk, can be used for later
  3220.               display or backgrounds for drawing over or  building  up
  3221.               unlimited lines.
  3222.  
  3223. MENU:         F P  or  ^S P  or  T P  or  P P
  3224.               (type filename after beep)
  3225.  
  3226. PROGRAM:      Save Pixel  save p  SAV P
  3227.  
  3228. PARAMETERS:   path\filename.ext
  3229.  
  3230. EXAMPLE:      SAV P c:\PIXEL\frame.1   ; save video display only
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.                                  [55]   
  3246.  
  3247. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  3248.  
  3249.  
  3250. [                     S E L E C T__E L E M E N T                     ]
  3251.  
  3252.  
  3253. PURPOSE:      To select an element before a command is to act on it.
  3254.  
  3255. MENU:         You are given a prompt when needed.
  3256.  
  3257. PROGRAM:      # 0  # 666
  3258.  
  3259. PARAMETERS:   number_of_element
  3260.  
  3261. EXAMPLE:      # 1  MAG 2 1 0.5    ; x=x*2:y=y:z=z*0.5 in element 1
  3262.                                   ; remember to space between # & num
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275. [                             S I G N A L                            ]
  3276.  
  3277.  
  3278. PURPOSE:      Electronic  signal  to  trigger camera or other external
  3279.               device.  Output is available from computer audio  output
  3280.               connector.
  3281.  
  3282. MENU:         NA
  3283.  
  3284. PROGRAM:      Signal  signal SIG
  3285.  
  3286. PARAMETERS:   frequency_integer  duration_in_milliseconds_integer
  3287.  
  3288. EXAMPLE:      SIG 20000 100       ; 20,000 HZ for 0.1 seconds
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.                                  [56]   
  3305.  
  3306. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  3307.  
  3308.  
  3309. [                          T E X T__M O D E                          ]
  3310.  
  3311.  
  3312. PURPOSE:      To clear and set text screen for Echo
  3313.               (Echo works in graphics as well)
  3314.  
  3315. MENU:         NA
  3316.  
  3317. PROGRAM:      Text_mode  Text  text  TEX
  3318.  
  3319. PARAMETERS:   none
  3320.  
  3321. EXAMPLE:      TEX                 ; clear screen to text mode
  3322.  
  3323.               ; use this before NAME 0 INPUT so you can get a DIR
  3324.  
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334. [                              T R A C E                             ]
  3335.  
  3336.  
  3337. PURPOSE:      To turn debuging trace on an off. The trace appears in a
  3338.               window at the bottom of the screen while the macro runs.
  3339.               It works in both Graph_mode and  Text_mode.
  3340.  
  3341. MENU:         ^R T
  3342.  
  3343. PROGRAM:      TRACE ON   or   TRACE OFF
  3344.  
  3345. PARAMETERS:   on/off_mode  Delay_between_commands_in_milliseconds
  3346.  
  3347. EXAMPLE:      Trace On 500        ; turn on trace with 1/2 second delay
  3348.               Trace Off 0         ; turn off trace and delay
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.                                  [57]   
  3364.  
  3365. [          A P P E N D I X   B:  M A C R O   C O M M A N D S         ]   
  3366.  
  3367.  
  3368. [                               W A I T                              ]
  3369.  
  3370.  
  3371. PURPOSE:      Pause until [Return] key is pressed.
  3372.  
  3373. MENU:         NA
  3374.  
  3375. PROGRAM:      Wait  wait  WAI
  3376.  
  3377. PARAMETERS:   none
  3378.  
  3379. EXAMPLE:      Echo >>SWAP DATA DISKS<<  press [Return] when done...
  3380.               Wait
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.  
  3389.  
  3390.  
  3391.  
  3392.  
  3393. [                              W O R L D                             ]
  3394.  
  3395.  
  3396. PURPOSE:      To set world scale.  With a World scale of 1.000: one  x
  3397.               drawing unit = one printer dot. 1920 dots at 1/240" each
  3398.               =  8"  of  print  out  width  so a scale of 240 reads in
  3399.               inches and a scale of 9.449 in mm for the  printer.  Use
  3400.               Install_plotter  from  the  Hard menu to adjust scale to
  3401.               your plotter.
  3402.  
  3403. MENU:         ^W
  3404.  
  3405. PROGRAM:      World  world  WOR
  3406.  
  3407. PARAMETERS:   scale
  3408.  
  3409. EXAMPLE:      World 9.449    ; scale will be set on return to menu
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.                                  [58]   
  3423.  
  3424. [ A P P E N D I X   C:   E D I T I N G   M A C R O   P R O G R A M S ]   
  3425.  
  3426.  
  3427.  
  3428. Press the [W] key from main menu to read & Write macro program  files.
  3429.     This  text  editor  reads  and  writes  ASCII  text files.  It has
  3430. windows so you can edit several macro files at the same time.  This is
  3431. useful since structured CAD programming of macros puts subroutines  in
  3432. separate  files.  Loops  using  the  GOTO  command  also run faster in
  3433. smaller files.
  3434.  
  3435.  
  3436. [       C O N T R O L L   L E T T E R  K E Y   C O M M A N D S       ]
  3437.  
  3438.  
  3439. ^A = left word.
  3440. ^S = left character.
  3441. ^E = up line.
  3442. ^R = up page.
  3443. ^W = scroll up.
  3444. ^I = tab.
  3445. ^D = right character.
  3446. ^F = right word.
  3447. ^X = down line.
  3448. ^C = down page.
  3449. ^Z = scroll down.
  3450. ^J = jump to beg/end of line.
  3451. ^G or [DEL] = delete right char.
  3452. ^H or [BKSP] = delete char left.
  3453. ^P = insert character by ASCII into text.
  3454. [ESC] = undo last deletion.
  3455. ^Y = delete line.
  3456. ^T = delete right word.
  3457. ^N = insert line.
  3458. ^M or [RETURN] = new line in text buffer.
  3459. ^B = reformat paragraph.
  3460. ^L = repeat last find/replace.
  3461. ^V = toggle insert mode.
  3462. ^U = abort.
  3463. ^\ = disk directory.
  3464. ^^ = help (editor help, and a quick DANCAD3D command reference).
  3465.  
  3466.  
  3467.     The keyboard cursor keys as well as [Ins] and [Del] also work.
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.  
  3481.                                  [59]   
  3482.  
  3483. [ A P P E N D I X   C:   E D I T I N G   M A C R O   P R O G R A M S ]   
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489. [               C O N T R O L L    Q    C O M M A N D S              ]
  3490.  
  3491.  
  3492. ^Q^A = find and replace, option G is for global.
  3493. ^Q^B = cursor to beg. of block.
  3494. ^Q^C = bottom of window.
  3495. ^Q^D = end of current line.
  3496. ^Q^F = find pattern.
  3497. ^Q^I = toggle autoindent mode.
  3498. ^Q^J = jump to marker (prompt).
  3499. ^Q^K = cursor to end of block.
  3500. ^Q^R = top of window.
  3501. ^Q^S = beg. of current line.
  3502. ^Q^Y = delete text to end of line.
  3503. ^Q 0 to 9 = jump to numbered marker.
  3504.  
  3505.  
  3506.  
  3507. [               C O N T R O L L    K    C O M M A N D S              ]
  3508.  
  3509.  
  3510. ^K^B = begin block.
  3511. ^K^K = end block.
  3512. ^K^C = copy block.
  3513. ^K^V = move block.
  3514. ^K^Y = delete block.
  3515. ^K^H = hide/display toggle block.
  3516. ^K^R = *READ* macro file, edit a macro or an ASCII data file.
  3517. ^K^W = *WRITE* macro file, use filename PRN. (AUX.) to print macro out.
  3518. ^K^S = save file, use after read file (overwrites using name on window).
  3519. ^K^T = set tab width.
  3520. ^K^M = set marker (prompt).
  3521. ^K 0 to 9 = set marker #.
  3522. ^K^X = *EXIT* and return to main menu.
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.                                  [60]   
  3541.  
  3542. [ A P P E N D I X   C:   E D I T I N G   M A C R O   P R O G R A M S ]   
  3543.  
  3544.  
  3545.  
  3546.  
  3547. [               C O N T R O L L    O    C O M M A N D S              ]
  3548.  
  3549.  
  3550. ^O^C = center text.
  3551. ^O^E = up window.
  3552. ^O^G = goto window (prompt).
  3553. ^O^I = goto column #.
  3554. ^O^J = link (join) window.
  3555. ^O^K = change case.
  3556. ^O^L = set left margin.
  3557. ^O^N = goto line #.
  3558. ^O^O = *OPEN* new window.  Use additional windows to edit subroutines.
  3559. ^O^R = set right margin.
  3560. ^O^S = set undo limit.
  3561. ^O^W = toggle word wrap mode.
  3562. ^O^X = *DOWN* window.  Move cursor to another window.
  3563. ^O^Y = destroy window.
  3564. ^O 0 to 9 = jump to window #.
  3565.  
  3566.  
  3567.  
  3568.     Use your key board macro program to install the function keys as:
  3569.  
  3570. [F1]  = ^K^X                 : Quit and return to main menu.
  3571. [F2]  = ^Q^R^K^B^Q^C^K^K^K^Y : Clear editor work space.
  3572.     or  ^O^O^M^M^O^Y 1 ^M    : Clear everything from window No.1
  3573. [F3]  = ^K^C                 : Block copy.
  3574. [F4]  = ^K^Y                 : Block delete.
  3575. [F5]  = ^K^H                 : Hide/display marked block.
  3576. [F6]  = ^K^V                 : Block move.
  3577. [F7]  = ^K^B                 : Mark block begin.
  3578. [F8]  = ^K^K                 : Mark block end.
  3579. [F9]  = ^K^R                 : Read file.
  3580. [F10] = ^K^W                 : Write file.
  3581.  
  3582.     To save a marked block to disk:  open a  window  (^O^O)  move  the
  3583. marked  block  into  it  (^K^B  ^K^K ^O^X ^K^C (or ^K^V)) then save it
  3584. (^K^W).
  3585.  
  3586.  
  3587.  
  3588.  
  3589.  
  3590.  
  3591.  
  3592.  
  3593.  
  3594.  
  3595.  
  3596.  
  3597.  
  3598.  
  3599.                                  [61]   
  3600.  
  3601. [   A P P E N D I X   D:   M E N U S  A N D  H E L P  S C R E E N S  ]   
  3602.  
  3603.  
  3604.  
  3605.  
  3606.  
  3607. To bring up the help screens press the [Ctrl] key and the [^]  key  at
  3608. the  same  time  when you see ^^=HELP at the top of the screen.  There
  3609. are three sets of special help screens available. One set from the
  3610. Main  Menu,  another set from the  drawing modes (Front, ^Side, and
  3611. Top view), and a third set from the text editor (Write macro).
  3612.  
  3613.  
  3614. 1. What the Main Menu status line shows.
  3615.  
  3616.     A. nnnnn:bytes-free, should always be positive for program to run.
  3617.  
  3618.     B. nnnnn:lines, 0 to 10920 lines may be in memory (640k version).
  3619.        A plotter or the video screen can  build  up  any  number
  3620.        of  drawing lines by reloading the memory and displaying.
  3621.  
  3622.     C. nnn:elements, 0 to 256 independent groups of lines.
  3623.  
  3624.  
  3625. 2. Commands that accesses the disk or RAM disk.
  3626.  
  3627.     A. Write_program_file.   ASCII text editor with windows.
  3628.          1. After pressing [W] from the main menu, press ^^ for help
  3629.             screens that list editor and DANCAD3D macro commands.
  3630.  
  3631.     B. ^Run_program_file.  Automatic execution of a DANCAD3D ASCII
  3632.         macro CAD command text file.  Macros can run other macros. See
  3633.         appendix B or the editor help screens for a list of commands.
  3634.          1.  [T] toggle debuging TRACE on and off.
  3635.          2.  [D] set trace delay to slow trace for easier reading.
  3636.          3.  ^[C] brake a running macro and return to main menu.
  3637.  
  3638.     D. Disk Task Menu.  (Press [D] from main menu).
  3639.  
  3640.          1. Get current directory.
  3641.          2. Make a sub directory.
  3642.          3. Copy a file.
  3643.          4. Rename a file.
  3644.          5. Erase a file.
  3645.          6. Size of a file in bytes.
  3646.          7. Directory of a disk.  (you can also enter dir in place of
  3647.             a filename when asked for one in the main program).
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.                                  [62]   
  3659.  
  3660. [   A P P E N D I X   D:   M E N U S  A N D  H E L P  S C R E E N S  ]   
  3661.  
  3662.  
  3663.  
  3664.     E. Save_data Menu, with options.  (Press [S] from main menu).
  3665.  
  3666.          1. 2D-real, flatten 3D objects into 2D drawings of them.
  3667.          2. 3D-real, your normal choice.
  3668.          3. ASCII-text, to edit in text editor or interchange of data.
  3669.          4. Elements_by_number_as_3D, to save and continue later.
  3670.          5. Pixel, save screen.  Use with DANMOVIE.COM (if you order
  3671.             the two extra disks for $7.50 you get it.  It lets you run a
  3672.             sequence of frames smoothly forward and reverse at different
  3673.             speeds from memory).
  3674.  
  3675.     F. Load_data Menu with options.  (Press [L] from main menu).
  3676.        The file type must match the type used to save the data file.
  3677.  
  3678.          1. 2D-real.
  3679.          2. 3D-real (can load individual files saved using Elements).
  3680.          3. ASCII-text.
  3681.          4. Elements_by_number_as_3D.
  3682.          5. Pixel-video_display.
  3683.  
  3684.     G. Block_text, to read in an ASCII text file for lettering.
  3685.  
  3686.  
  3687. 3. Set up the working environment.
  3688.  
  3689.     A. ^World_scale, for drawing 1:1 (ft., inch, mm, etc.) on print out.
  3690.  
  3691.     B. ^Initialize, to reset memory work-space (elements & lines = 0).
  3692.  
  3693.     C. ^Quit_all, return to DOS environment (exit DANCAD3D).
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.  
  3713.  
  3714.  
  3715.  
  3716.  
  3717.                                  [63]   
  3718.  
  3719. [   A P P E N D I X   D:   M E N U S  A N D  H E L P  S C R E E N S  ]   
  3720.  
  3721.  
  3722. 4. Manipulating the main data image.
  3723.  
  3724.     A. Magnification, make bigger or smaller or both.
  3725.  
  3726.          1. From x = 0, y = 0, z = 0.  Use center Zero.
  3727.          2. From element's center.   Use center Current.
  3728.  
  3729.     B. Offset, move in 3D or shift in 2D.
  3730.  
  3731.          1. From x = 0, y = 0, z = 0.  Use center Zero.
  3732.          2. From element's center.  Use center Current.
  3733.          3. To x y z recorded if Front, ^Side or Top.
  3734.  
  3735.     C. Rotate, turn relative to constant space.
  3736.  
  3737.          1. Around world x = 0, y = 0, z = 0.  Use center Zero.
  3738.          2. Around element's center.   Use center Current.
  3739.  
  3740.     D. ^Flip, mirror image.
  3741.  
  3742.          1. Across world axis x = 0, y = 0, z = 0.  Use center Zero.
  3743.          2. Across element's center.   Use center Current.
  3744.  
  3745.  
  3746. 5. Numeric Menu.  (Press [N] from main menu).
  3747.  
  3748.     A. Alter, change a line by data.
  3749.  
  3750.     B. Clean, round off value to nearest unit.
  3751.  
  3752.     C. ^Delete, delete a line from an element.
  3753.  
  3754.     D. Insert, insert a line into an element.
  3755.  
  3756.     E. Enter, make an element with line point data.
  3757.  
  3758.     F. Numeric, list line point data and center to console.
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.  
  3772.  
  3773.  
  3774.  
  3775.  
  3776.                                  [64]   
  3777.  
  3778. [   A P P E N D I X   D:   M E N U S  A N D  H E L P  S C R E E N S  ]   
  3779.  
  3780.  
  3781. 6. *DRAWING* lines as elements.  (Press letter key from main menu).
  3782.  
  3783.     A. Front, view of 3D work-space with zoom.
  3784.  
  3785.          1. Draw lines.  Use [.] then, arrow keypad, then [0] to draw.
  3786.          2. Lettering, at cursor.
  3787.          3. Automatic Dimensioning, automatic with options.
  3788.          4. ^^ for help screens of drawing commands.
  3789.  
  3790.     B. ^Side, view of 3D work-space with zoom.
  3791.  
  3792.          1. Draw lines.  Use [.] then, arrow keypad, then [0] to draw.
  3793.          2. Lettering, at cursor.
  3794.          3. Dimensioning, automatic with options.
  3795.          4. ^^ for help screens of drawing commands.
  3796.  
  3797.     C. Top, view of 3D work-space with zoom.
  3798.  
  3799.          1. Draw lines.  Use [.] then, arrow keypad, then [0] to draw.
  3800.          2. Lettering, at cursor.
  3801.          3. Dimensioning, automatic with options.
  3802.          4. ^^ for help screens of drawing commands.
  3803.  
  3804.     D. ^Polygon, use to make whole or partial circles and polygons.
  3805.  
  3806.     E. ^Lettering, put lettering in your drawing.
  3807.  
  3808.     F. Block_text, to read in an ASCII text file for lettering.
  3809.  
  3810.  
  3811. 7. Display of drawing.
  3812.  
  3813.     A. Perspective, use to see how data will be effected before action.
  3814.  
  3815.     B. Hard_copy Menu, with options.
  3816.  
  3817.          1. Dot_print, very hi-res print out (approx. 30x screen dump).
  3818.          2. Plotter, output to your plotter or disk spooler.
  3819.          3. Install_plotter, set up for your plotter.
  3820.  
  3821.     C. Load with Pixel-video_display option.
  3822.  
  3823.     D. Front, ([F] from main menu) view of 3D work-space with zoom.
  3824.  
  3825.     E. ^Side, (^[S] from main menu) view of 3D work-space with zoom.
  3826.  
  3827.     F. Top, ([T] from main menu) view of 3D work-space with zoom.
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.                                  [65]   
  3836.  
  3837. [      A P P E N D I X   E:   A S C I I  F I L E  F O R M A T S      ]   
  3838.  
  3839.  
  3840.  
  3841. The Save ASCII file looks like:
  3842.  
  3843. data as x1 y1 z1 x2 y2 z2, 0 0 0  0 0 0 ends file: b:ascii.exm
  3844. 99.9999999           0           0    -49.999973  86.6025554           0
  3845. -49.999973  86.6025554           0    -50.000052   -86.60251           0
  3846. -50.000052   -86.60251           0    99.9999999  -0.0000907           0
  3847.          0           0           0             0  -1.230E-10           0
  3848. 1.4000E-11  -1.230E-10           0    1.4000E-11  -9.400E-11           0
  3849.      -1900        -500           0         -1300        -100        -900
  3850. 0 0 0  0 0 0
  3851.  
  3852.  
  3853. If the plotter output is sent to the printer or a disk file it will
  3854. look like:
  3855.  
  3856. P 1
  3857. M -200 -200
  3858. L -200 -200 200 -200
  3859. L 200 -200 200 100
  3860. L 200 100 -200 100
  3861. L -200 100 -200 -200
  3862. M 0 -100
  3863. L 0 -100 100 0
  3864. L 100 0 -100 0
  3865. L -100 0 0 -100
  3866. H
  3867.  
  3868. The commands can be installed for many plotters.  For example the line
  3869. command could look like " LINE(-200,-200)-(200,-200);  ".  If you  are
  3870. sure  your plotter cannot be installed write me explaining the precise
  3871. difficulty so I can try to correct the problem.
  3872.  
  3873.  
  3874. The data  file  format  used  by  the  DANGRAPH.COM  program  has  the
  3875. following  form.  This utility comes on the extra disks you can order.
  3876. It makes nice Log-Log graphs as DANCAD3D 2D-real files you can load in
  3877. as an element then move, scale and combine with text and drawings.
  3878.  
  3879. b:data
  3880. 5
  3881.   1.0000000000E+00  1.0000000000E+00
  3882.   2.0000000000E+00  2.0000000000E+00
  3883.   3.0000000000E+00  4.0000000000E+00
  3884.   4.0000000000E+00  8.0000000000E+00
  3885.   5.0000000000E+00  1.6000000000E+01
  3886.  
  3887. The number on the second line is the number of points.
  3888.  
  3889.  
  3890.  
  3891.  
  3892.  
  3893.  
  3894.                                  [66]   
  3895.  
  3896. [          A P P E N D I X   F:  E R R O R   M E S S A G E S         ]   
  3897.  
  3898.  
  3899.  
  3900. DANCAD 3D has been tested to confirm that the Demo files run  properly
  3901. demonstrating that the program will work when used properly.  When the
  3902. program crashes it is most often due to improper input.  After a crash
  3903. you  should  see  a  error  number  (in  hexadecimal)  on  the screen.
  3904. The meaning of the numbers that you are likely to see are given below.
  3905.  
  3906.  
  3907.                        Run-time error messages.
  3908.  
  3909. 01  Floating point overflow, n>1E18 or n<-1E18.
  3910.  
  3911. 02  Division by zero, try entering 1E-18 instead of 0.
  3912.  
  3913. 90  Array index out of range.
  3914.  
  3915. 92  Integer out of range, n>32767 or n<-32767.
  3916.  
  3917. F0  Overlay  file  not found,  all files named DANCAD3D must be in the
  3918.     same  and default dir  (or sub directory) for the program to work.
  3919.  
  3920. FF  Heap/Stack collision, you are not leaving enough of your 640k free
  3921.     for  your  macro (or just DANCAD3D) to run.  Look at bytes-free in
  3922.     the main menu it should be positive.  Use fewer resident programs.
  3923.  
  3924.  
  3925.                           I/O error messages.
  3926.  
  3927. 01  No file with the name used or wrong drive named.
  3928.  
  3929. 10  Error  in  numeric  format.  Be  extremely  careful  to  state all
  3930.     parameters for a command when used in a macro.  Also put  a  space
  3931.     between  all  groups  of  characters.  Do not use real number form
  3932.     where an integer is called for.  Do not enter letters  or  symbols
  3933.     where a number is requested.
  3934.  
  3935. 99  Unexpected end of file.   You got the file types mixed up.  Or the
  3936.     file was not completely saved due to an I/O error (full disk).
  3937.  
  3938. F0  Disk write error.
  3939.  
  3940. F1  Directory is full, no more room on a disk.
  3941.  
  3942. F3  Too many files open, add files=20 to your DOS config.sys file.
  3943.  
  3944. FF  File disappeared, you took the disk out.
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.                                  [67]   
  3954.  
  3955. [                A P P E N D I X   G:   C H A N G E S                ]   
  3956.  
  3957.  
  3958.  
  3959.    Note these changes if you have used an older version of DANCAD3D.
  3960.  
  3961. v1.00    Original program.
  3962.  
  3963. v1.10    Main menu and macro commands:
  3964.          old: OFF 0 0 0           new: OFF Z 0 0 0 or OFF C 0 0 0
  3965.                                        OFF R 0 0 0
  3966.          old: MAG 0 0 0           new: MAG Z 0 0 0 or OFF C 0 0 0
  3967.          old: ROT 0 0 0           new: ROT Z 0 0 0 or ROT C 0 0 0
  3968.          old: FLIP (AXIS)         new: FLIP Z (AXIS) or FLIP C (AXIS)
  3969.          old: LET, text, 0 0 0 0 0 0 0 0 0
  3970.          new: LET, text, 0 0 0 0 0 0 0 0 0 center
  3971.          new: LET, text, 0 0 0 0 0 0 0 0 0 first
  3972.          new: LET, text, 0 0 0 0 0 0 0 0 0 last
  3973.          Drawing  commands  added:
  3974.          [A], automatic  dimensioning
  3975.          [L], lettering at cursor
  3976.         ^[C], change element center
  3977.          [E], erase elements
  3978.          [I], initialization of drawing display toggle
  3979.  
  3980. v1.20    Main menu and macro commands:
  3981.          some macro file errors reported to and located for you
  3982.          some of your keyboard entry errors will be captured
  3983.          disk_menu added to main menu
  3984.          new: entering dir or DIR calls up a directory at any filename
  3985.          prompt in the main part of the program,
  3986.          entering = recalls the last filename used
  3987.          new: Remark, curly braces { } can also be used
  3988.          new: CENTER_element_at (x) (y) (z)
  3989.          Drawing  commands  added:
  3990.          [B], begin a new element
  3991.          [/], menu of drawing commands
  3992.  
  3993. v1.30    Trace command for debuging macros added.
  3994.          Pressing [Any-Key] during screen up-date in drawing modes lets
  3995.          you set the drawing speed (1x,2x,4x,10x) or abort.
  3996.          Line capacity increased to 10920 (640k version).
  3997.          NAME i INPUT command added.
  3998.          Numeric menu added to main menu.
  3999.          Loops can nest in a macro file.
  4000.          Curly braces can nest (for debuging), eg. {{{ }}}.
  4001.          New help screens added to main menu.
  4002.          2D integer file format changed to 2D real file format.
  4003.          If you have integer files load them into your old version
  4004.          and save them 3D real so v1.30 can read them as 3D real.
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011.  
  4012.                                  [68]   
  4013.  
  4014. [                              I N D E X                             ]   
  4015.  
  4016.  
  4017. 2D-real file......................13
  4018. 2D files, load.................20,45
  4019. 2D files, save.................20,53
  4020. 3D-real file......................13
  4021. 3D files, load.................22,46
  4022. 3D files, save.................22,54
  4023. 8087 chip..........................3
  4024. adjusting display perspective..11,26
  4025. alter data in memory..............36
  4026. animation......................17,29
  4027. Appendix A: Drawing Commands......32
  4028. Appendix B: Macro Commands........34
  4029. Appendix C: Editing Macros........59
  4030. Appendix D: Menus and Help........62
  4031. Appendix E: ASCII file formats....66
  4032. Appendix F: Error Messages........67
  4033. Appendix G: Changes...............68
  4034. arcs..............................51
  4035. ASCII-real file...................13
  4036. ASCII 3d line file, load..........46
  4037. ASCII 3d line file, save..........54
  4038. ASCII file formats................66
  4039. audio beep........................36
  4040. audio output...................17,56
  4041. B&W................................6
  4042. bit-map...........................13
  4043. block text........................37
  4044. break.............................34
  4045. bug reports........................3
  4046. bug trace.........................14
  4047. bytes free........................62
  4048. camera trigger....................56
  4049. centers...........................11
  4050. CGA video board....................6
  4051. change element center.............37
  4052. circles...........................51
  4053. clear memory......................44
  4054. coded data........................41
  4055. color..............................6
  4056. command alter.....................36
  4057. command beep......................36
  4058. command block.....................37
  4059. command center....................37
  4060. command clean.....................38
  4061. command delay.....................38
  4062. command delete....................39
  4063. command display...................39
  4064. command dump......................40
  4065. command echo......................41
  4066. command enter.....................41
  4067. command flip......................42
  4068. command goto......................42
  4069. command graph_mode................43
  4070.  
  4071.                                  [69]   
  4072.  
  4073. [                              I N D E X                             ]   
  4074.  
  4075. command halt......................43
  4076. command initialize................44
  4077. command insert....................44
  4078. command lettering.................45
  4079. command load 2D...................45
  4080. command load 3D...................46
  4081. command load ASCII................46
  4082. command load elements.............47
  4083. command load pixel................47
  4084. command magnification.............48
  4085. command name......................49
  4086. command numeric...................50
  4087. command offset....................50
  4088. command plotter...................51
  4089. command polygon...................51
  4090. command remark....................52
  4091. command rotate....................52
  4092. command run.......................53
  4093. command save 2D...................53
  4094. command save 3D...................54
  4095. command save ASCII................54
  4096. command save elements.............55
  4097. command save pixel................55
  4098. command select_element............56
  4099. command signal....................56
  4100. command text_mode.................57
  4101. command trace.....................57
  4102. command wait......................58
  4103. command world.....................58
  4104. CONFIG.SYS........................35
  4105. control K commands................60
  4106. control O commands................60
  4107. control Q commands................60
  4108. control letter key commands.......59
  4109. ctrl key..........................34
  4110. DANCAD3D.B&W.......................4
  4111. DANCAD3D.COM.......................4
  4112. DANCAD3D.MSG.......................4
  4113. DANCAD3D file types............13,65
  4114. DANCAD3D tutorial.................19
  4115. DANGRAPH.COM......................66
  4116. DANMOVIE.COM......................13
  4117. data listing......................50
  4118. data magnification................48
  4119. data structure....................11
  4120. debuging trace....................57
  4121. delay DANCAD3D macro..............38
  4122. delete line data..................39
  4123. demo files.........................4
  4124. desktop publishing................18
  4125. disclaimer.........................3
  4126. disk directory....................62
  4127. display lines as video............39
  4128. DOS error level...................43
  4129.  
  4130.                                  [70]   
  4131.  
  4132. [                              I N D E X                             ]   
  4133.  
  4134. DOS graphics......................40
  4135. dot printer.......................40
  4136. drawing from menu........20,22,24,64
  4137. drawing lines............20,22,24,32
  4138. drawing text files................37
  4139. draw lettering.................24,45
  4140. editing blocks.................26,60
  4141. editing windows................26,60
  4142. electronic signal.................56
  4143. elements..........................11
  4144. elements, center..................33
  4145. elements, erase...................33
  4146. element drawing...................33
  4147. element selection.................56
  4148. element set, load.................47
  4149. element set, save.................55
  4150. execution speed...................34
  4151. files on the disk..................4
  4152. file conversion....................3
  4153. free memory.......................62
  4154. function keys.....................61
  4155. GRAPHICS.COM...................12,40
  4156. graphics printer..................40
  4157. graphics terminal.................16
  4158. graph data format.................66
  4159. hard copy.........................65
  4160. how to animate your drawings...17,29
  4161. how to draw using DANCAD3D...9,20,22
  4162. how to exit editor.............26,60
  4163. how to get help screens...........62
  4164. how to get support and help........5
  4165. how to make a working disk.........6
  4166. how to use DANCAD3D................6
  4167. immediate command mode............16
  4168. insert a line.....................44
  4169. INSTALL.BAT........................4
  4170. installation.......................6
  4171. installing your plotter........65,66
  4172. label.............................34
  4173. lettering and dimensioning.....10,24
  4174. looping example................14,29
  4175. looping filename...............29,49
  4176. looping with goto..............29,42
  4177. mainframe.........................16
  4178. memory requirements................6
  4179. menu..............................34
  4180. message on screen.................41
  4181. mirror image......................42
  4182. monochrome.........................6
  4183. mouse..............................6
  4184. name command, in loop.............14
  4185. name command, use of..............15
  4186. notice.............................3
  4187. number of elements................62
  4188.  
  4189.                                  [71]   
  4190.  
  4191. [                              I N D E X                             ]   
  4192.  
  4193. number of lines...................62
  4194. numeric menu......................64
  4195. offset elements...................50
  4196. parameters........................34
  4197. pause program.....................58
  4198. pencil tests......................17
  4199. pixel file........................13
  4200. pixel file, save..................55
  4201. pixel files, load.................47
  4202. plotter colors....................12
  4203. plotter data files.................4
  4204. plotter output....................66
  4205. plotter printout..................51
  4206. polygons..........................51
  4207. portting..........................16
  4208. printer...........................12
  4209. printing out your drawings........12
  4210. print screen......................40
  4211. programming commands..............34
  4212. quit..............................43
  4213. ram disk...........................6
  4214. readme.bat.........................4
  4215. read macro command file...........60
  4216. remarks in program................52
  4217. rotate data.......................52
  4218. round off data....................38
  4219. running a macro...................14
  4220. running demo files.................6
  4221. running from DOS batch files.......6
  4222. run file of commands..............53
  4223. save macro program................60
  4224. scale.............................58
  4225. screen dump....................12,40
  4226. speed-up screen up-date............9
  4227. stopping a program................34
  4228. table of contents..................2
  4229. trigger, camera...................17
  4230. tutorial lesson 1: 2d drawing.....20
  4231. tutorial lesson 2: 3d drawing.....22
  4232. tutorial lesson 3: dimensioning...24
  4233. tutorial lesson 4: writing macros.26
  4234. tutorial lesson 5: animation......29
  4235. up-dates...........................3
  4236. user support.......................3
  4237. video graph mode..................43
  4238. video text mode...................57
  4239. what can DANCAD3D do?..............8
  4240. what is a DANCAD3D macro..........14
  4241. windows...........................16
  4242. writing a macro.......14,26,59,60,62
  4243. zoom range.........................9
  4244. zoom scale........................32
  4245.  
  4246.  
  4247.  
  4248.                                  [72]   
  4249.